使用套接字创建原始HTTP请求

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (34)

我希望能够构建一个原始HTTP请求并使用套接字发送它。显然,你希望我使用urllib和urllib2之类的东西,但我不想使用它。

它必须看起来像这样:

import socket

tcpsoc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpsoc.bind(('72.14.192.58', 80)) #bind to googles ip
tcpsoc.send('HTTP REQUEST')
response = tcpsoc.recv()

显然,您还需要请求页面/文件以及获取和发布参数

提问于
用户回答回答于

是的,基本上你只需要写文字,例如:

GET /pageyouwant.html HTTP/1.1[CRLF]
Host: google.com[CRLF]
Connection: close[CRLF]
User-Agent: MyAwesomeUserAgent/1.0.0[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no-cache[CRLF]
[CRLF]

随意删除/添加标题。

用户回答回答于

有关指导您的工作示例,您可能需要查看libcurl,这是一个用C语言编写的库:

  1. 功能多;
  2. 很容易使用;
  3. 被广泛部署
  4. 被积极支持。

这是一件很棒的事情,也是开源可以而且应该是什么的最好例子之一。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励