似乎urllib2默认发送HTTP / 1.1请求?
urllib2在后台使用httplib进行连接。您可以将其更改为http
1.0,如下所示。我已包含我的apache服务器访问日志,以显示http连接如何更改为1.0
码
import urllib2, httplib
httplib.HTTPConnection._http_vsn = 10
httplib.HTTPConnection._http_vsn_str = 'HTTP/1.0'
print urllib2.urlopen('http://localhost/').read()
访问日志
127.0.0.1 - - [01/Dec/2012:09:10:27 +0300] "GET / HTTP/1.1" 200 454 "-" "Python-urllib/2.7"
127.0.0.1 - - [01/Dec/2012:09:16:32 +0300] "GET / HTTP/1.0" 200 454 "-" "Python-urllib/2.7"
问题内容: 我是Android的新手,所以关于android的知识还不是很多,好的,请讲到重点,我需要通过用户名和密码进行 登录 ,因为我必须通过JSON进行http requset并返回响应也将以JSON格式提供。所以任何人都可以帮助我。谢谢。 问题答案: 试试这个代码
我正在尝试让客户端/服务器程序通过ssl交换http消息。首先,我创建了使用DefaultHttpRequest成功交换http请求的客户端和服务器程序。发送请求的代码如下所示: 客户端管道工厂包含以下内容: 服务器管道工厂包含以下内容: .... 到目前为止一切顺利。客户端发送请求,服务器接收并解码请求。使用正确的数据调用我的处理程序上的messageReceived方法。 为了启用 SSL,我
(↓↓正文↓↓) <\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
问题内容: 使用urllib2.urlopen(..)时,我想在请求中发送自定义的“ Accept”标头。我怎么做? 问题答案: 不完全的。创建对象实际上并不发送请求,并且Request对象没有方法。(还:是小写字母。)您需要做的就是将用作第一个参数,这将给您您的答复。
问题内容: 当我通过套接字发送正常的HTTP请求时,服务器不会以OK响应进行响应。我从Firefox复制了HTTP标头。这是代码: 但是,这是我收到的回复: 我知道我可以使用来做到这一点,但是当我手动发送HTTP请求时,服务器为什么不识别HTTP请求? 问题答案: 两件事情: 您应该使用而不是将条目打印到单独的行。 HTTP请求应以空白行(link)结尾。所以加
问题内容: 我需要每10秒从服务器收到一个状态。 我试图通过服务发送一个http请求来做到这一点。 问题是我的代码只能执行一次。 这是我的服务代码: 谢谢很多阿维 问题答案: 将处理程序放入onPostExecute中以在10秒后发送http请求 10秒后,将再次执行doInBackground,然后再次执行onPostExecute,再次处理程序,依此类推。