Я нашел этот скрипт онлайн:
import httplib, urllib
params = urllib.urlencode({'number': 12524, 'type': 'issue', 'action': 'show'})
headers = {"Content-type": "application/x-www-form-urlencoded",
"Accept": "text/plain"}
conn = httplib.HTTPConnection("bugs.python.org")
conn.request("POST", "", params, headers)
response = conn.getresponse()
print response.status, response.reason
302 Found
data = response.read()
data
'Redirecting to <a href="http://bugs.python.org/issue12524">http://bugs.python.org/issue12524</a>'
conn.close()
Но я не понимаю, как использовать его с PHP или что есть в переменной params или как его использовать. Могу ли я получить небольшую помощь, пытаясь заставить это работать?
live http header
аддон Firefox, а затем открыть свой URL в Firefox и увидетьrequest/response
URL вlive http header
аддоне, чем вы поймете, чтоparams and headers
делать в вашем коде.Ответы:
Если вы действительно хотите работать с HTTP с помощью Python, я настоятельно рекомендую « Запросы: HTTP для людей» . Быстрый старт POST, адаптированный к вашему вопросу:
источник
json={'number': 12524...
вместоdata=...
Если вам нужен переносимый скрипт, и вы не хотите иметь никаких сторонних зависимостей, именно так вы отправляете POST-запрос исключительно в Python 3.
Образец вывода:
источник
Вы не можете выполнить запросы POST с помощью
urllib
(только для GET), вместо этого попробуйте использоватьrequests
модуль, например:Пример 1.0:
Пример 1.2:
Пример 1.3:
источник
Используйте
requests
библиотеку для GET, POST, PUT или DELETE, нажав конечную точку REST API. Передайте URL-адрес конечной точки остальных APIurl
, полезную нагрузку (dict)data
и заголовок / метаданные вheaders
источник
headers
параметр неверен, а также у нас нет json здесь. Мы должны использоватьjson.dumps(pauload)
Ваш словарь данных содержит имена полей ввода формы, вы просто сохраняете правильные значения для поиска результатов. представление формы Заголовок настраивает браузер для получения типа данных, которые вы объявляете. С библиотекой запросов легко отправить POST:
Подробнее об объекте запроса: https://requests.readthedocs.io/en/master/api/
источник
Если вы не хотите использовать модуль, который вам нужно установить
requests
, и ваш вариант использования очень простой, то вы можете использоватьurllib2
См. Документацию
urllib2
здесь: https://docs.python.org/2/library/urllib2.html .источник