在node.js中从ip获取时区的最简单和最好的方法是什么?理想情况下无需调用 Web 服务(也欢迎任何免费的 Web 服务解决方案)。
到目前为止,我已经成功地从 npm 模块geoip-lite中找到了 2 个字母的ISO-3166-1 国家/地区代码、纬度/经度、ISO-3166-2 次国家/地区代码、FIPS 10-4 次国家/地区代码和城市名称。
我将如何将此数据转换为时区或 utc 偏移量?或者也许更简单的方法是直接将 ip 映射到时区。
我正在用 C 编写一个简单的客户端-服务器代码。我被要求让服务器打印连接到它的客户端的 IP 地址。但是,我似乎无法找到从服务器控制台了解客户端 IP 地址的方法。有没有办法做到这一点?
// Initialize Winsock.
if ( StartupRes != NO_ERROR )
{
printf( "error %ld at WSAStartup( ), ending program.\n", WSAGetLastError() );
// Tell the user that we could not find a usable WinSock DLL.
return;
}
/* The WinSock DLL is acceptable. Proceed. */
// Create a socket.
MainSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( MainSocket == INVALID_SOCKET )
{
printf( "Error at socket( ): %ld\n", WSAGetLastError( ) );
return;
}
// …Run Code Online (Sandbox Code Playgroud) 我正在创建一个 Android 应用程序,其中客户端可以在不使用 SIP 代理(服务器)的情况下互相呼叫。
我下载了CSipSimple,它有一个“本地”选项,本地网络中的客户端可以直接互相呼叫。
如果我连接到移动网络怎么办?如果我知道目的地的公网IP,我可以直接打电话给他吗?
如果您可以推荐满足上述要求的其他应用程序,请提及。
谢谢
我正在学习网络协议,发现接近最低级别的是原始以太网协议:
以太网:这是使用您的 MAC 地址将数据发送到本地网络上的另一台计算机的基本协议。这是其余所有内容的构建块,因为如果您想与外界通信,则需要将数据发送到路由器。
其之上是互联网协议 (IP),其中 TCP 和 UDP 就是示例。TCP 之上是 HTTP,或者可以在 SSL 之上放置 HTTP(因此 HTTPS)。
浏览器似乎只允许您深入到 IP 级别(用于正常消息传递连接的 TCP,用于视频等内容的 UDP)。但我想知道是否有可能比浏览器中的更低。如果没有,那么想知道为什么不。如果是这样,那么可能是一个例子。
我在 VPS 上运行一个网站,我想完全阻止通过 VPS IP 地址访问该网站。我让它适用于 HTTP,但似乎不可能适用于 HTTPS。我做了什么:
<VirtualHost *:80>
ServerName xxx.xxx.xxx.xxx
Redirect 403 /
DocumentRoot /a/folder/here/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但我找不到对https://xx.xx.xx.xx执行相同操作的方法
有人可以帮我吗?
** 我在用:**
让我们加密证书
阿帕奇2.4
我正在使用 Laravel v.6.11。我想 ping 一个 IP:端口来检查其状态是在线还是离线。为此,我使用karlmonson/laravel-ping包。每当我 ping 它返回错误状态时,有时服务器处于开启状态并且返回 false,反之亦然。
我的控制器
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Ping;
class PlexServerController extends Controller
{
public function serverStatus(Request $request)
{
$ip = $request->ip;
$port = $request->port;
$health = Ping::check($ip.':'.$port);
if($health == 200){
return $json = json_encode(['status' => '1','health' => $health]);
} else {
return $json = json_encode(['status' => '2','health' => $health]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我希望有人能帮助我摆脱这个问题。我还使用laravelcollective/remote来运行 SSH 命令。太酷了,它可以运行所有命令。任何人都可以帮助我解决检查IP是否在线或离线并返回带有状态代码的响应的问题。
我正在使用Retrofit2发出网络请求,但端点位于我的计算机本地。
所以我的基本 URL 是
private val BASE_URL = "http://localhost:8000/",但它给了我这个响应
Failed to connect to localhost/127.0.0.1:5000
所以我做了一些搜索,发现我需要使用我的本地 IP 地址,如下所示
private val BASE_URL = "http:192.168.1.15//:8000/",但后来我得到了这个响应
Response{protocol=http/1.1, code=404, message=Not Found, url=http://192.168.1.15//:8000/api/Home/RegisterShop}
知道如何解决这个问题吗?
我在 Stackoverflow 上搜索过类似的问题,但他们没有给出答案。
我向某个 api 服务发出 UrlFetchApp.fetch(url) 请求,但该服务可能禁止此请求 IP。我需要将其列入白名单。我知道谷歌应用程序使用很多 IP,但现在我需要至少确定用于此特定调用的 IP。
我尝试了这个脚本来找出请求:
function getR(){
var url = 'https://my.APIENDPOINTURL'
req = UrlFetchApp.getRequest(url, options)
Logger.log(req)
resp = UrlFetchApp.fetch(url, options)
Logger.log(resp)
}
Run Code Online (Sandbox Code Playgroud)
它给了我这个日志:
为什么显示我的真实IP?
幕后到底发生了什么?我期望 UrlFetchApp 的真实 IP 在 .getRequests() 输出中使用。我错过了什么吗?
有什么技巧可以知道 UrlFetchApp 使用哪个 IP 吗?我知道没有这个功能作为本机功能。
我有一张桌子:有模型
public class ArticleLike:BaseEntity
{
public long? UserId { get; set; }
public string UserIp { get; set; }
public ICollection<User> User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何获取用户的IP地址?我必须在服务或存储库上编写它的方法吗?