curl не может получить полный ответ от URL - PullRequest
0 голосов
/ 24 сентября 2011

Я использую curl в centos 5.5 и curl, как показано ниже, чтобы получить ответ от URL:

curl 7.21.2 (x86_64-unknown-linux-gnu) libcurl/7.21.2 OpenSSL/0.9.8b zlib/1.2.3     libidn/0.6.5
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps  telnet tftp 
Features: IDN IPv6 Largefile NTLM SSL libz

http://www.51buy.com/portal.html,, и я могу получить ответ, но он не завершен, например, выне могу найти «934», но «934» действительно находится в исходном HTML-коде.

с другой стороны, на моих окнах я использовал версию curl, как показано ниже

curl 7.21.2 (i386-pc-win32) libcurl/7.21.2 OpenSSL/0.9.8o zlib/1.2.5 libidn/1.18 libssh2/1.2.7 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp  scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN Largefile NTLM SSL SSPI libz

ичтобы получить тот же URL, он может получить полный ответ.

Может кто-нибудь дать мне подсказку, чтобы помочь мне решить проблему?Заранее спасибо.

1 Ответ

0 голосов
/ 26 сентября 2011

Чаще всего, когда вы получаете разные ответы, это происходит потому, что сайт пытается делать разные вещи в зависимости от вашего пользовательского агента или подобного.

Чтобы подделать это, выясните точный запрос, который посылает ваш браузер, а затем попытайтесь имитировать, насколько это возможно, часто выигрышный подход.

В этом случае, поскольку версия curl для Windows работает, вы можете попытаться настроить user-agent в случае linux так, чтобы она была похожа на версию curl для Windows ...

Поскольку вы не указали какие-либо конкретные подробности протокола, мы не можем больше догадываться о фактическом содержании.

...