python - 如何在 Python 中发送 HTTP Get Web 请求?

标签 python http streamreader webrequest

我无法将数据发送到网站并在 Python 中获得响应。我见过类似的问题,但似乎都没有达到我的目标。

这是我尝试移植到 Python 的 C# 代码:

    static void Request(Uri selectedUri)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(selectedUri);
        request.ServicePoint.BindIPEndPointDelegate = BindIPEndPointCallback;
        request.Method = "GET";
        request.Timeout = (int)Timeout.TotalMilliseconds;
        request.ReadWriteTimeout = (int)Timeout.TotalMilliseconds;
        request.CachePolicy = CachePolicy;
        request.UserAgent = UserAgent;

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (StreamReader responseReader = new StreamReader(response.GetResponseStream()))
            {
                string responseText = responseReader.ReadToEnd();
                File.WriteAllText(UrlFileName, responseText.Trim(), Encoding.ASCII);
            }
        }
     }

这是我在 Python 中的尝试:

def request():
web = httplib.HTTPConnection('https://someurl.com');
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
web.request("GET", "/heartbeat.jsp", headers);
response = web.getresponse();
stream = ""; #something is wrong here

任何帮助将不胜感激!

最佳答案

您可以使用 urllib2

import urllib2
content = urllib2.urlopen(some_url).read()
print content

您也可以使用httplib

import httplib
conn = httplib.HTTPConnection("www.python.org")
conn.request("HEAD","/index.html")
res = conn.getresponse()
print res.status, res.reason
# Result:
200 OK

requests library

import requests
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
r.status_code
# Result:
200

关于python - 如何在 Python 中发送 HTTP Get Web 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178483/

相关文章:

python - 破解第 3 方 python 模块的最佳实践

python - 模板中的 Django 分组字典

c# - 来自 MemoryStream UTF8 编码的 StreamReader

arrays - 用文本文件填充两个一维数组

python - 在selenium中单击select2下拉列表时出现问题

python - 非 react 器线程中的扭曲传输.write

ios - 异步请求如果失败了怎么办?

javascript - javascript 请求中的缓存控制

http - 如果可以处理持久连接,为什么 HTTP 协议(protocol)是无状态的?

c# - 如何在 ShareDenyWrite 模式下打开 StreamReader?