API Twitter `status / update_with_media` return` 404 Not Found` - PullRequest
1 голос
/ 08 марта 2012

Мое приложение должно обновлять статус и добавлять изображения в обновление, поэтому status/update_with_media - лучший выбор.На моей платформе нет библиотеки, которую я мог бы использовать, поэтому я портировал PorlarSSL (библиотека SSL, написанная на C) и реализовал HTTP-протокол на TCP-протоколе на C. Вот мои коды для запроса update_with_media API.

Буфер отправки TCP (включая заголовок HTTP и тело сообщения):

POST /1/statuses/update_with_media.json HTTP/1.1
Accept: */*
Host: upload.twitter.com
Authorization: OAuth oauth_consumer_key="wafabKbGRc16RUWgQvD4g", oauth_nonce="UvA44TqLLGWlHy3TDU8BPgAAAAAD", oauth_signature="62FJbljZOk9vOHU7RYCIn%2Fyl68c%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1331134259", oauth_token="46043095-aRPvEBFqHEiDwM0wWURJskAkdrLIJGMLRqI5yx1Po", oauth_version="1.0"
Connection: Keep-Alive
Content-Length: 659
Content-Type: multipart/form-data; boundary=--xyz

----xyz
Content-Disposition: form-data; name="media[]"; filename="asddf.gif"
Content-Type: application/octet-stream

<binary-image-data>
----xyz
Content-Disposition: form-data; name="status"

hello word
----xyz--

Эти поля разделены \r\n, пустая строка - ожидаемая \r\n, поэтому я 'я уверен, что формат правильный.Буфер TCP (включая данные двоичного изображения) затем шифруется с помощью SSL и затем отправляется в Twitter, но возвращаемое тело - HTML-документ, заголовок HTTP -

HTTP/1.1 404 Not Found
Date: Thu, 08 Mar 2012 06:16:46 GMT
Set-Cookie: k=10.34.145.134.1331187406993104; path=/; expires=Thu, 15-Mar-12 06:16:46 GMT; domain=.twitter.com
Last-Modified: Mon, 27 Feb 2012 21:57:35 GMT
Accept-Ranges: bytes
Content-Length: 12882
Vary: Accept-Encoding
Content-Type: text/html; charset=UTF-8
Server: tfe

Я хочу знать, что это значит?Должны ли данные двоичного изображения быть зашифрованы с помощью SSL?или status/update_with_media не нужен SSL и достаточно только HTTP сообщения?Если Content-Length неверно (например, больше, чем фактическая длина отправки), это вызовет какие-либо проблемы?

У меня рукопожатие с твиттером в порядке, и я могу запросить другие данные из Твиттера, поэтому мой интернетОК.

Кто-нибудь может мне помочь?

1 Ответ

2 голосов
/ 09 марта 2012

К какому серверу вы подключаетесь? Загрузка фотографий должна быть направлена ​​на upload.twitter.com.

Кроме того, Content-Disposition: from-data; name="media[]"; filename="asddf.gif" содержит опечатку from-data.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...