Вверх ↑
Этот топик читают: Гость
Ответов: 1429
Рейтинг: 50
#1: 2011-05-30 13:37:23 ЛС | профиль | цитата
Как отправить такой запрос, с помощью элемента HTTP_GET?

запрос:
GET /feeds/api/users/default/uploads HTTP/1.1
Host: gdata.youtube.com
Content-Type: application/atom+xml
Authorization: GoogleLogin auth=DQAAAIYAAAA4MaOGQyxGMz2Gzj
GData-Version: 2
X-GData-Client: xxxx
X-GData-Key: key=AI39si5KopLoQcNZEfvKwA8K


TCP_Client - не до конца загружает страницы, бороться с этим, похоже, бесполезно.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#2: 2011-05-30 13:54:03 ЛС | профиль | цитата
login писал(а):
TCP_Client - не до конца загружает страницы

А он и не обязан их загружать полностью, в нем не встроен накопитель для режима dtString, такой накопитель надо делать самому
карма: 22

0
Ответов: 1429
Рейтинг: 50
#3: 2011-05-30 13:59:24 ЛС | профиль | цитата
nesco, он не докачивает XML до конца, даже при постоянном соединении. Это он, типа, хочет от меня, чтобы я дозапросил данные, или что-то вроде того, это при том, что данные идут чанками. Кошмар короче.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#4: 2011-05-30 14:14:54 ЛС | профиль | цитата
login писал(а):
Это он, типа, хочет от меня, чтобы я дозапросил данные, или что-то вроде того, это при том, что данные идут чанками

MTU никто не отменял, если сетевое соединение не поддерживает передачу больших кадров, то ты ту хоть уделайся, но принять целиком без накопителя не получится. Не зря же придумали Content length и цифровые маркеры блоков, обозначающие длину блоков
карма: 22

0
Ответов: 1429
Рейтинг: 50
#5: 2011-05-30 14:16:10 ЛС | профиль | цитата
nesco писал(а):
такой накопитель надо делать самому
а что это такое? Это принимать весь ответ в список строк, а затем передать дальше целиком? Но я в снифер смотрю, и данные от ётуба просто приходят не до конца, через раз..
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2011-05-30 14:17:30 ЛС | профиль | цитата
login писал(а):
он не докачивает XML до конца, даже при постоянном соединении.

у TCP протокола нет такого понятия как "формат XML". Докачивать он тоже ничего не обязан. А лучше сходите на википедию и почитайте, что он обязан делать, а что нет
карма: 26
0
Ответов: 1429
Рейтинг: 50
#7: 2011-05-30 14:17:35 ЛС | профиль | цитата
nesco, как сделать этот накопитель?
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#8: 2011-05-30 14:18:11 ЛС | профиль | цитата
login писал(а):
Это принимать весь ответ в список строк, а затем передать дальше целиком?

Что-то типа того
карма: 22

0
Ответов: 1429
Рейтинг: 50
#9: 2011-05-30 14:21:06 ЛС | профиль | цитата
Dilma, не мучайте, я хорошо понимаю что XML не относится к TCP. XML - в смысле тело ответа.
------------ Дoбавленo в 14.21:
nesco писал(а):
Это принимать весь ответ в список строк
но я так и делаю, дело в том, что снифер показывает еще до TCP_Clienta что данные не полные. Поэтому нечего накапливать.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2011-05-30 14:21:45 ЛС | профиль | цитата
nesco писал(а):
Что-то типа того

типо того будет только в том случае, если в заголовке запроса указать Connection: Close.
карма: 26
0
Ответов: 3349
Рейтинг: 233
#11: 2011-05-30 14:22:35 ЛС | профиль | цитата
Теоретически, можно в HTTP_Get модифицировать хидер
карма: 1

0
Ответов: 1429
Рейтинг: 50
#12: 2011-05-30 14:23:15 ЛС | профиль | цитата
Dilma, вот! Но суть в том, что если я указываю Connection: Close, то обрывов информации становится в 5 раз больше, чем при постоянном соединении!
------------ Дoбавленo в 14.23:
Ivann писал(а):
Теоретически, можно в HTTP_Get модифицировать хидер
Ivann, помоги!
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#13: 2011-05-30 14:29:09 ЛС | профиль | цитата
login, а где кусок ответного контента с заголовком Если там, в начале стоят цифры, то Connection: Close может не быть, так же как и Content length:. Конец передачи блока, в этом случае, это ноль в конце, а цифры -- длина текущего бока в байтах. Естественно, что ноль будет означать, что следующего блока нет
карма: 22

0
Ответов: 1429
Рейтинг: 50
#14: 2011-05-30 14:31:24 ЛС | профиль | цитата
nesco, но тут нет контента. Я посылаю только этот заголовок, и получаю XML.

А в недокачаном ответе идут чанки, а в конце нет нуля, данные просто оборваны в снифере.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#15: 2011-05-30 14:35:26 ЛС | профиль | цитата
login писал(а):
Я посылаю только этот заголовок, и получаю XML

Чистый XML (блок данных) без заголовка
------------ Дoбавленo в 14.35:
login писал(а):
данные просто оборваны в снифере

И что, потом они больше не появляются По сниферу ты фиг чего опредилишь, там пакеты могут идти вперемешку
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)