Use o curl para fazer o download de um URL

0

Estou tentando baixar um arquivo de uma URL usando curl :

$ curl -3 -v "https://atl1mmsget.msg.eng.t-mobile.com/mms/wapenc?location=XXXXXXXXXXX_14zbwk&rid=027"

Onde o X é um dígito no número de telefone do dispositivo que estou testando.

mas estou com um erro:

* Adding handle: conn: 0x2140cd0
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x2140cd0) send_pipe: 1, recv_pipe: 0
* About to connect() to atl1mmsget.msg.eng.t-mobile.com port 443 (#0)
*   Trying 66.94.0.188...
* Connected to atl1mmsget.msg.eng.t-mobile.com (66.94.0.188) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using AES128-SHA
* Server certificate:
*    subject: C=US; ST=Washington; L=Bothell; O=T-Mobile USA, Inc.; CN=apgw.sipgeo.t-mobile.com
*    start date: 2013-05-21 21:02:44 GMT
*    expire date: 2014-05-22 08:35:43 GMT
*    subjectAltName: atl1mmsget.msg.eng.t-mobile.com matched
*    issuer: C=US; O=Entrust, Inc.; OU=www.entrust.net/rpa is incorporated by reference; OU=(c) 2009 Entrust, Inc.; CN=Entrust Certification Authority - L1C
*    SSL certificate verify ok.
> GET /mms/wapenc?location=18188257544_14zbwk&rid=027 HTTP/1.1
> User-Agent: curl/7.32.0
> Host: atl1mmsget.msg.eng.t-mobile.com
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 501 Not Implemented
< Server: BigIP
* HTTP/1.0 connection set to keep alive!
< Connection: Keep-Alive
< Content-Length: 0
< 
* Connection #0 to host atl1mmsget.msg.eng.t-mobile.com left intact'

O que significa o erro 501 not implemented ? Como posso contornar isso?

    
por toobsco42 14.02.2014 / 08:18

1 resposta

1

O código de erro é fornecido pelo lado do servidor, não por curvatura. É um código de erro HTTP e a descrição para isso pode ser encontrada em wikipedia :

501 Not Implemented
The server either does not recognize the request method, or it lacks the 
ability to fulfill the request. Usually this implies future availability 
(e.g., a new feature of a web-service API).

Você deve tentar obter acesso à funcionalidade com um navegador real, para garantir que isso funcione (a URL que você forneceu não funciona no meu navegador). Uma vez que isso funcione, você pode tentar excluir qualquer cookie para ver se o acesso à página depende disso. Você pode ter que optar por usar o selênio se quiser automatizar o acesso a essa página.

    
por 14.02.2014 / 08:32