0

他のスレッドを見てみましたが、そこから何も構築できませんでした。

HEADステータスを取得して、さらに操作する前に確認しようとしているURLのリストがあります。httplib を使用した現在のコードは正常に動作しますが (その他の部分)、コードがプロキシの背後から動作することを確認する必要があります。ここで問題が発生します。

コードは機能し、出力 (一部の場合) を生成しますが、URL からの出力ステータスは「400 bad request」であり、正しくプロキシされていないようです。

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")
4

1 に答える 1

1

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()

...そうしないと、どのホストに接続するかを知る方法がありません。

于 2013-04-17T14:02:41.810 に答える