子域和套接字
Subdomain and sockets
我正在尝试编写一个简单的应用程序来在网站上发出 http get 请求。然后会将一些值放入数据库中。但是我已经停留在一开始了。
我正在尝试访问一个子域(不确定它是不是这样叫的),然后向它写入一个获取命令。但是我似乎无法连接到该网站,因为我获得的 ip 显然来自主站点。最终我想要的是执行以下操作:
"http://innoseis.freeiz.com/mysql.php?sensorValue=12"
其中传感器值是 http 获取。
但是我首先尝试连接并从 www.innoseis.freeiz.com 获取 http 正文,有人可以给我一些正确方向的指示吗?我尝试在 google 上搜索子域套接字,但无济于事。非常感谢:)
到目前为止我的代码(从一些教程中汇编):
http://www.heypasteit.com/clip/1VK6
编辑
尝试 fiddle 使用 telnet 稍作尝试并没有带来结果
telnet www.innoseis.freeiz.com 80
Trying 31.170.161.216...
已连接到 www.innoseis.freeiz.com。
转义字符是“^]
”。
GET /mysql.php?sensorValue=12 HTTP/1.1\r\n
Host: www.innoseis.freeiz.com\r\n
Connection: close\r\n
^]
(漫长的等待)
Connection closed by foreign host.
请 post 代码的最小完整可验证示例作为 in-line 代码,而不是 link。
也就是说,你要做的是获取innoseis.freeiz.com的IP,然后连接到那个IP,端口80。然后你发送如下请求:
GET /mysql.php?sensorValue=12 HTTP/1.1
Host: innoseis.freeiz.com
Connection: close
因此,子域在 HTTP 协议中被指定为主机 header。
要解决此问题,我建议如下。
在您的电脑上安装提琴手。我希望你能使用它,否则请使用不同的电脑。
执行您想手动执行的请求,但启用提琴手。
使用 fiddler 你可以准确地看到浏览器发送了什么,你需要在你的代码中做同样的事情。有些字段不太重要,但 HTTP
对换行符等某些内容非常严格。
由于 HTTP
协议细节,您可能只是缺少一个简单的 \r\n
回车符 return 换行符来结束您对服务器的请求。
我正在尝试编写一个简单的应用程序来在网站上发出 http get 请求。然后会将一些值放入数据库中。但是我已经停留在一开始了。
我正在尝试访问一个子域(不确定它是不是这样叫的),然后向它写入一个获取命令。但是我似乎无法连接到该网站,因为我获得的 ip 显然来自主站点。最终我想要的是执行以下操作:
"http://innoseis.freeiz.com/mysql.php?sensorValue=12"
其中传感器值是 http 获取。
但是我首先尝试连接并从 www.innoseis.freeiz.com 获取 http 正文,有人可以给我一些正确方向的指示吗?我尝试在 google 上搜索子域套接字,但无济于事。非常感谢:)
到目前为止我的代码(从一些教程中汇编):
http://www.heypasteit.com/clip/1VK6
编辑 尝试 fiddle 使用 telnet 稍作尝试并没有带来结果
telnet www.innoseis.freeiz.com 80
Trying 31.170.161.216...
已连接到 www.innoseis.freeiz.com。
转义字符是“^]
”。
GET /mysql.php?sensorValue=12 HTTP/1.1\r\n
Host: www.innoseis.freeiz.com\r\n
Connection: close\r\n
^]
(漫长的等待)
Connection closed by foreign host.
请 post 代码的最小完整可验证示例作为 in-line 代码,而不是 link。
也就是说,你要做的是获取innoseis.freeiz.com的IP,然后连接到那个IP,端口80。然后你发送如下请求:
GET /mysql.php?sensorValue=12 HTTP/1.1
Host: innoseis.freeiz.com
Connection: close
因此,子域在 HTTP 协议中被指定为主机 header。
要解决此问题,我建议如下。
在您的电脑上安装提琴手。我希望你能使用它,否则请使用不同的电脑。
执行您想手动执行的请求,但启用提琴手。
使用 fiddler 你可以准确地看到浏览器发送了什么,你需要在你的代码中做同样的事情。有些字段不太重要,但 HTTP
对换行符等某些内容非常严格。
由于 HTTP
协议细节,您可能只是缺少一个简单的 \r\n
回车符 return 换行符来结束您对服务器的请求。