Encontrei este script online:
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()
Mas eu não entendo como usá-lo com PHP ou o que tudo dentro da variável params é ou como usá-lo. Por favor, posso ter uma pequena ajuda para tentar fazer com que isso funcione?
live http header
addon do firefox e abrir o seu URL no firefox e ver orequest/response
URL nolive http header
addon do que você entenderá o queparams and headers
fazer no seu código.Respostas:
Se você realmente deseja lidar com HTTP usando Python, recomendo Pedidos: HTTP for Humans . O início rápido do POST adaptado à sua pergunta é:
fonte
json={'number': 12524...
em vez dedata=...
Se você precisa que seu script seja portátil e preferir não ter nenhuma dependência de terceiros, é assim que você envia a solicitação POST exclusivamente no Python 3.
Saída de amostra:
fonte
Você não pode obter solicitações POST usando
urllib
(apenas para GET); tente usar orequests
módulo, por exemplo:Exemplo 1.0:
Exemplo 1.2:
Exemplo 1.3:
fonte
Use a
requests
biblioteca para GET, POST, PUT ou DELETE acessando um terminal da API REST. Passe o restante do URL do ponto de extremidade da APIurl
, carga útil (dict)data
e o cabeçalho / metadados emheaders
fonte
headers
parâmetro está errado e também não temos nenhum json aqui. Devemos usarjson.dumps(pauload)
Seu dicionário de dados conte os nomes dos campos de entrada do formulário, basta manter os valores corretos para encontrar resultados. Visualização de formulário O cabeçalho configura o navegador para recuperar o tipo de dados que você declara. Com a biblioteca de solicitações, é fácil enviar o POST:
Mais sobre o objeto Request: https://requests.readthedocs.io/en/master/api/
fonte
Se você não deseja usar um módulo, você deve instalar como
requests
, e seu caso de uso é muito básico, então você pode usarurllib2
Consulte a documentação
urllib2
aqui: https://docs.python.org/2/library/urllib2.html .fonte