![]() |
|
(#1)
![]() |
|
Senior Member
Prepaid Fan
Posts: 153
Join Date: 07 Jul 2006
Country:
![]() |
![]() A rather technical question. On my blog about using Greek phones for weather forecasts
Greek Internet Weather Yacht Vigdis I explain how I try to reduce the data volume when using Poseidon's site. I wrote a script that uses WGET to download 2 day's weather maps at 6 hour intervals. It works fine over a wifi connection but not over Cosmote or Wind WAP proxied connections. So for example this doesn't work: wget http://www.poseidon.hcmr.gr/images/m...db09082515.png wheras if I type that address into the browser it does. But I then have to save each image - which is tedious. On Cosmote myview'n'web the wget hangs. On Wind Plus NS I get a temporary resolution errror. Any ideas or suggestions? It must be the proxy. (Spoofing the UAS does nothing.) Dave |
|
![]() |
(#2)
![]() |
|||
Senior Member
Prepaid Professionist
Posts: 1,399
Join Date: 15 Nov 2006
Country:
![]() |
![]() I understand, that you run the wget command locally (i.e. on your linux machine, which is connected to the internet via the named providers).
Proceeding on this assumption the problem appears pretty simple. http-applications do always send the so-called USER_AGENT parameter revealing it's identity with each http-request. When you use wget the http requests sent to the server (and passing the network operator's proxy) will contain the USER_AGENT "wget 1.9.2". The proxy will so identify the request as not coming from a handset and so will block it. What you need to do now, is faking the USER_AGENT. Therefore simply set the user_agent parameter to some mobile phone when executing wget. In the following example you will send the (pretty long) USER-AGENT of a Nokia N95 with your request: Quote:
Depending on which user_agents are blocked by the corresponding operator you could also use the user agent of a desktop browser like Firefox, which would look like this: Quote:
postpaid: O2 on Business XL; prepaid: DE: Aldi Talk, Lidl; UK: 3; BG: MTel, vivacom; RU: MTS; RS: MTS; UAE: du Tourist SIM; INT'L: toggle mobile VoIP: sipgate.de (German DID); sipgate.co.uk (British DID); ukddi.com (British DID); sipcall.ch (Swiss DID); megafon.bg (Bulgarian DID); InterVoip.com |
||
|
![]() |
(#3)
![]() |
|
Senior Member
Prepaid Fan
Posts: 153
Join Date: 07 Jul 2006
Country:
![]() |
![]() Thanks for that comprehensive reply, but I already tried that. I just tried again with Cosmote and your suggested User Agent Strings (UAS) and it definitely makes no difference.
Is it likely that these Wap services will sniff for browsers? I've never seen evidence of that. There are dozens of params for WGET - I have the manpage; any other suggestions? Edit: I'm using a Nokia N810 tablet tethered to a Nokia N70 phone. Dave |
|
![]() |
(#4)
![]() |
|||
Senior Member
Prepaid Professionist
Posts: 1,399
Join Date: 15 Nov 2006
Country:
![]() |
![]() Have you checked, if faking the user_agent does actually take effect? I just found another syntax for changing the user_agent on Google:
Quote:
If the user_agent is actually changed and it still doesn't work through the cell network, they seem to perform some deeper inspection of your requests. Maybe the proxy checks in the EIR (a network element of every GSM-network) what type of phone you use and then only accepts the user_agent of that certain phone. Then you should use only the user_agent of the phone, which is registered on the network (the Nokia N70 in your case): Quote:
postpaid: O2 on Business XL; prepaid: DE: Aldi Talk, Lidl; UK: 3; BG: MTel, vivacom; RU: MTS; RS: MTS; UAE: du Tourist SIM; INT'L: toggle mobile VoIP: sipgate.de (German DID); sipgate.co.uk (British DID); ukddi.com (British DID); sipcall.ch (Swiss DID); megafon.bg (Bulgarian DID); InterVoip.com |
||
|
![]() |
(#5)
![]() |
|
Senior Member
Prepaid Fan
Posts: 153
Join Date: 07 Jul 2006
Country:
![]() |
![]() Yes, I usually use -U; I tried the longer version yesterday.
I'll try checking if the UAS is actually changed next time I find a wifi - may be a week or two. Maybe this version of WGET, compiled for Maemo, is faulty. I just tried -S: no server response returned (Cosmote). |
|
![]() |
(#6)
![]() |
|
Senior Member
Prepaid Fan
Posts: 153
Join Date: 07 Jul 2006
Country:
![]() |
![]() I solved it. I need to set the http_proxy environment variable. I assumed that the connection manager would specify the proxy for WGET since the browser picks it up.
|
|
![]() |
![]() |
|
|