如何在没有'的情况下发送请求;主机头';使用Python?
我已经尝试了很多天了,所以在这里我终于要问,对于大多数专家来说,这可能是一个愚蠢的问题。如何在没有'的情况下发送请求;主机头';使用Python?,python,html,http,urllib2,urllib,Python,Html,Http,Urllib2,Urllib,我已经尝试了很多天了,所以在这里我终于要问,对于大多数专家来说,这可能是一个愚蠢的问题。 我正在使用PyUnit对我的应用程序进行API测试。 应用程序(待测试)部署在此处的一个本地服务器上。该应用程序可防止黑客进行恶意活动。因此,我通过此应用程序访问任何网站(受此应用程序保护)。e、 g.http://my-security-app/stackoverflow/login,http://my-security-app/website-to-be-protected等 几乎整个框架都围绕Urll
我正在使用PyUnit对我的应用程序进行API测试。 应用程序(待测试)部署在此处的一个本地服务器上。该应用程序可防止黑客进行恶意活动。因此,我通过此应用程序访问任何网站(受此应用程序保护)。e、 g.
http://my-security-app/stackoverflow/login
,http://my-security-app/website-to-be-protected
等
几乎整个框架都围绕Urllib和Urllib2运行
场景:-我需要使用python发送一个不带“Host”头的请求,或者发送一个头名为“Host123”而不是原始名称的请求
我一直在尝试下面提到的代码。但这对我不起作用
“由于异常:[Errno 9]错误的文件描述符,测试失败”
任何帮助都将不胜感激
提前谢谢 为此使用测试服务器。顺便说一句,它是用Python编写的
说明:
测试HTTP库有时会变得很困难。PostBin.org是
非常适合测试POST请求,但其他的就不多了。这是为了
涵盖各种HTTP场景。正在创建其他端点
考虑(例如/放气)
所有端点响应都是JSON编码的
Author甚至基于此服务器在提供公共服务。根据定义,响应由服务器发送。如果它被发送到服务器,那么它就是一个请求。如果服务器发送请求,那么它将扮演exchange客户端的角色。无论如何,您可以为测试定义一个模拟服务器,该服务器发送预配置的响应,其中包含您喜欢的内容。感谢Sebastian的快速响应。甚至我也对术语“响应”感到困惑,因为根据我的理解,我们无法使用python操纵来自服务器的响应。现在来谈谈我们的问题。假设我想检查是否可以在请求中向服务器发送重复的头。你能提供一些帮助吗?你需要更具体一点,也就是提供一个发送头并显示你试图复制头的方法。我知道了,Sebastian,我发送了一些数据(请求),这样我可以得到两次特定头的响应。谢谢你的合作。我现在还有一个挑战。在相同的场景中,我需要在发送请求之前将请求中的“Host”替换为“Host123”。有什么线索吗?您可以直接使用
socket
发送无效的http请求。这是
host = "12.1.3.16"
with closing(socket.create_connection((host, 80))) as s:
# send request without Host header
s.sendall(b"GET /mywebsite/administrator/ HTTP/1.1\r\n" +
#"Host12:{}\r\n".format(host).encode('ascii', 'strict') +
b"Connection: close\r\n\r\n")