我已经尝试了很多天了,所以我终于要问了,对于大多数专家来说可能是个愚蠢的问题。
我正在使用PyUnit进行应用程序的API测试。
应用程序(待测试)部署在此处的一个本地服务器上。该应用程序可以防止黑客进行恶意活动。所以我通过这个应用程序访问任何网站(受此应用程序保护)。例如http://my-security-app/stackoverflow/login
,http://my-security-app/website-to-be-protected
等。
几乎整个框架都围绕Urllib和Urllib2运行。
场景: - 我需要在没有“主持人”的情况下发送请求。标题或使用' Host123'的请求使用python作为标题名称而不是原始名称。
我一直在尝试下面提到的代码。但它不适合我。
"由于异常而导致测试失败:[Errno 9]文件描述符错误"
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")
任何帮助都将深表感谢。
提前致谢!
答案 0 :(得分:1)
使用httpbin测试服务器。它是用Python编写的,顺便说一句。
说明
提供基于此服务器的公共服务有时,测试HTTP库可能会变得困难。 PostBin.org是 非常适合测试POST请求,但不是很多。这存在于 涵盖各种HTTP场景。正在增加其他端点 考虑(例如/ deflate)。
所有端点响应都是JSON编码的。