带代理的wxpythonhttplib显示400个错误请求

2024-10-01 17:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

查看了其他线程,但无法从中构建任何内容。在

我有一个URL的列表,我正在尝试获取头部状态,并在进一步操作之前进行检查。我当前使用httplib的代码可以正常工作(其他部分),但是我需要确保代码在代理后面工作,这就是我遇到问题的地方。在

代码正常工作并生成一个输出(if part),但是url的输出状态是“400个错误请求”,这似乎是它没有被正确地代理。在

dlg = wx.MessageDialog(self, "Are you connected to a proxy?", "LAN check", wx.YES | wx.NO | wx.ICON_INFORMATION)
    if dlg.ShowModal() == wx.ID_YES:
        self.urlFld.SetValue("")
        for line in self.myList:
            url = urlparse.urlparse(line)
            conn = httplib.HTTPConnection("myproxy.com", 8080)
            conn.request("HEAD", url.path)
            r1 = conn.getresponse()
            r1 = r1.status, r1.reason
            r1 = str(r1)
            self.urlFld.appendText(url.scheme + "://" + url.hostname + url.path + "\t\t\t" + r1 + "\r")
    else:
        self.urlFld.SetValue("")
        for line in self.myList:
                url = urlparse.urlparse(line)
                conn = httplib.HTTPConnection(url.hostname)
                conn.request("HEAD", url.path)
                r1 = conn.getresponse()
                r1 = r1.status, r1.reason
                r1 = str(r1)
                self.urlFld.AppendText(url.scheme + "://" + url.hostname + url.path + "\t\t\t" + r1 + "\r")

Tags: path代码selfurl代理if状态line
1条回答
网友
1楼 · 发布于 2024-10-01 17:28:07

IIRC,如果您使用代理服务器,则必须将完整的URL传递给HEAD方法。。。在

if dlg.ShowModal() == wx.ID_YES:
    self.urlFld.SetValue("")
    for line in self.myList:
        conn = httplib.HTTPConnection("myproxy.com", 8080)
        conn.request("HEAD", line)
        r1 = conn.getresponse()

…否则它无法知道要连接到哪个主机。在

相关问题 更多 >

    热门问题