【问题标题】:Problems using HTTPSConnection with http.client使用带有 http.client 的 HTTPSConnection 的问题
【发布时间】:2016-08-04 19:55:11
【问题描述】:

我是 Python 新手,尤其是网络编码新手。我正在尝试制作一个询问姓名和姓氏的程序,然后检查 Pipl 是否有任何结果。我的“策略”是直接访问带有结果的 URL(包含信息),而不使用 POST 方法来完成网站的字段。我试过这个:

import http.client
name = input("Name: ")
surname = input("Surname: ")
url = "pipl.com/search/?q=" + name + "+" + surname + "&l=&sloc=&in=5"
conn = http.client.HTTPSConnection(url, 443)
conn.putrequest('GET', '/')
conn.endheaders()
r = conn.getresponse()
print(r.read())

我收到了这个错误:

socket.gaierror: [Errno -2] 名称或服务未知

我认为那是因为我不仅使用域名(pipl.com),但没有任何帮助,我仍然停留在这里。

我还告诉自己,使用 POST 可能会更容易。我再说一遍,我对网络编码很陌生(而且我的英语不是最好的),我正在学习,所以感谢您的帮助!

【问题讨论】:

    标签: http https httplib http.client


    【解决方案1】:

    最好的方法是使用 PIPL 代码库。不过,如果您想要更“快速和肮脏”的东西,请使用 python 'requests' 库 (http://docs.python-requests.org/en/master/),它可以通过 pip 安装并轻松为您提供所需的东西。 我拿了你的初始代码并想出了这个:

    import requests
    name = input("Name: ")
    surname = input("Surname: ")
    url = "http://api.pipl.com/search/?first_name=" + name + "&last_name=" + surname + "&key=sample_key"
    response = requests.get(url)
    print (response.json())
    

    最终结果是来自 API 的 json 响应。 在https://pipl.com/dev/reference/#response阅读更多有关 API 可能响应的信息

    【讨论】:

    • 感谢您的帮助回答丹!我使用了 PIPL 库,它工作得很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2014-07-22
    相关资源
    最近更新 更多