Может кто-нибудь объяснить, получить запросы, в частности, заголовок http? - PullRequest
0 голосов
/ 16 сентября 2018

Я новичок с остальными API и пытаюсь настроить рукопожатие OAuth, и мне нужна помощь с запросом токена запроса. Я использую модульques_oauthlib в Python. Вот пример кода, и он возвращает Response [400].

consumer_key, consumer_secret и request_url все загружены правильно. Я получил свой код для работы с использованием другого модуля Auth. Может кто-нибудь объяснить, что такое http-заголовки и как они используются в GET-запросе?

from requests_oauthlib import OAuth1
from variables import *

oauth = OAuth1(consumer_key, client_secret = consumer_secret)

request_token = requests.get(request_url, auth=oauth, params={'oauth_callback':'oob', 'format':'json'})

print request_token

1 Ответ

0 голосов
/ 16 сентября 2018

запрос : ваш компьютер отправляет сообщение http на другой компьютер, обычно через порт 443 или 80

ответ : сервер прослушивает любые запросы на подключение и отвечает, если он понимает сообщение.

Например, telnet stackoverflow.com 80, вы можете ввести

GET /questions/52350391/can-someone-explain-get-requests-specifically-the-http-header HTTP/2
Host: stackoverflow.com
User-Agent: curl/7.54.0
Accept: */*

А затем дважды нажмите клавишу ввода, чтобы завершить заголовок запроса, после чего сервер отвечает:

➜  mysite telnet stackoverflow.com 80
Trying 151.101.1.69...
Connected to stackoverflow.com.
Escape character is '^]'.
GET /questions/52350391/can-someone-explain-get-requests-specifically-the-http-  header HTTP/2
Host: stackoverflow.com
User-Agent: curl/7.54.0
Accept: */*

HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=utf-8
Location: /10993126/mozhet-kto-nibud-obyasnit-poluchit-zaprosy-v-chastnosti-zagolovok-http
X-Request-Guid: xxx
Content-Security-Policy: upgrade-insecure-requests
Accept-Ranges: bytes
Age: 0
Content-Length: 217
Accept-Ranges: bytes
Date: Sun, 16 Sep 2018 03:29:16 GMT
Via: 1.1 varnish
Age: 0
Connection: close
X-Served-By: cache-ord1744-ORD
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1537068557.736123,VS0,VE25
Vary: Fastly-SSL
X-DNS-Prefetch-Control: off
Set-Cookie: prov=xxx; domain=.stackoverflow.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/10993126/mozhet-kto-nibud-obyasnit-poluchit-zaprosy-v-chastnosti-zagolovok-http">here</a>.</h2>
</body></html>
Connection closed by foreign host.

Затем сеанс telnet распечатывает ответ от сервера и закрывает соединение. Ответ будет состоять из нескольких частей, заголовков ответа и тела ответа.

Ваш пример может выглядеть примерно так:

GET /some/oauth/api?oauth_callback=oob&format=json
Host: someplace.com
Authorization: Bearer asdfasdfasdfasdf

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
  "access_token":"sdfasasdfasdf",
  "token_type":"bearer",
  "expires_in":3600,
  "refresh_token":"asdfasdfasdfasdf",
  "scope":"create"
}

также проверьте: curl -Lv /10993126/mozhet-kto-nibud-obyasnit-poluchit-zaprosy-v-chastnosti-zagolovok-http | head -n 100

связанные с:

...