Устал гуглить. Может быть тут есть кто-нибудь, кто может мне внятно разъяснить, как с помощью команды curl отправить POST или GET запрос?
Давайте разберем на примере вот такого POST-запроса:
POST /oauth2/token HTTP/1.1
Host: api.twitter.com
User-Agent: My Twitter App v1.0.23
Authorization: Basic eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJn
NmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Content-Length: 29
Accept-Encoding: text/html
grant_type=client_credentials
Вот такую штуку надо отправить.
Я напишу, как я пытался это сделать, но в ответ мне приходила html-страница, а не teken-ключ.
Вариант1.curl --header @PATH_TO_FILE/post.txt -X POST --data '"grant_type":"client_credentials"' https://api.twitter.com
При этом в файле post.txt:
Host=api.twitter.com&User-Agent=curl&Authorization=N29wR1luZHlNNWl4aGRpTWVmdWd2cEl1UzpRa2twaERvWlFjRm45OU8wbHJhUEthMFZlOWFuMTUwMDgyNmdJUURsYlJoc1pIVnI2SQ==&Content-Type=application/x-www-form-urlencoded;charset=UTF-8&Accept-Encoding=text/html
Вариант2.Та же команда, но файл отредактирован иначе:
POST /oauth2/token HTTP/1.1
Host: api.twitter.com
User-Agent: My Twitter App v1.0
Authorization: Basic N29wR1luZHlNNWl4aGRpTWVmdWd2cEl1UzpRa2twaERvWlFjRm45OU8wbHJhUEthMFZlOWFuMTUwMDgyNmdJUURsYlJoc1pIVnI2SQ==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept-Encoding: text/html
Вариант 3.Другая вариация команды:
curl --post301 'https://api.twitter.com' --data 'grant_type=client_credentials' --header @PATH_TO_FILE/post.txt
Вариант 4.Я просто взял и воспользовался этим кодером-энкодером:
http://www.url-encode-decode.com/И закодировал весь запрос в один URL:
curl "POST+%2Foauth2%2Ftoken+HTTP%2F1.1%0D%0AHost%3A+api.twitter.com%0D%0AUser-Agent%3A+My+Twitter+App+v1.0.23%0D%0AAuthorization%3A+Basic+eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJn%0D%0A+++++++++++++++++++++NmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw%3D%3D%0D%0AContent-Type%3A+application%2Fx-www-form-urlencoded%3Bcharset%3DUTF-8%0D%0AContent-Length%3A+29%0D%0AAccept-Encoding%3A+text%2Fhtml%0D%0A%0D%0Agrant_type%3Dclient_credentials"
Вот тут в ответ что-то другое пришло, а именно:
curl: (6) Couldn't resolve host
далее весь этот URL..
В общем, Твиттер шлет мне в ответ какую-то html-страницу, а должен слать ключик. Подскажите с синтаксисом, все ли я правильно делаю?