2011-07-13 38 views
2

我正在研究泰利特GL-865 GSM/GPRS調制解調器套件。我已經使用串口將它連接到我的電腦,並使用Putty獲得終端訪問權限。通過GPRS使用telit互聯網GL 865 GSM/GPRS調制解調器

我可以成功執行所有的AT命令發送/接收短信,進行語音通話等

我也可以用設置GPRS上下文AT + CGDCONT和使用AT#SKTD打開到服務器的連接並能發送GET和POST請求。我也正確地獲得了所有頭文件的HTTP響應。

但是對於一些網站,我沒有得到正確的迴應。例如。 - www.google.com 如果我派:

AT#SKTD=0,80,"www.google.com" 
CONNECT 
GET /<cr><lf> 
<cr><lf> 

我得到如下回應:

HTTP/1.0 302 Found 
Location: http://www.google.co.in/ 
Cache-Control: private 
Content-Type: text/html; charset=UTF-8 
Set-Cookie: PREF=ID=80125e212d950ff8:FF=0:TM=1310555250:LM=1310555250:S=lwD7-OUKPeiBwCri; expires=Fri, 12-Jul-2013 11:07:30 GMT; path=/; domain=.google.com 
Date: Wed, 13 Jul 2011 11:07:30 GMT 
Server: gws 
Content-Length: 221 
X-XSS-Protection: 1; mode=block 

<HTML> 
<HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> 
<TITLE>302 Moved</TITLE> 
</HEAD> 
<BODY> 
<H1>302 Moved</H1> 
The document has moved 
<A HREF="http://www.google.co.in/">here</A>. 
</BODY> 
</HTML> 

而且我不能訪問www.wiley.com測試CGI腳本。我將CONNECT作爲對AT#STKD的響應,但在完成輸入請求頭之前,我得到了NO CARRIER消息。

+0

腦海幫忙[這裏](http://stackoverflow.com/questions/19614635/cant-send- sms-or-dial-a-number-with-gsm-gprs) – Ammar

回答

2

我幾乎解決了這個問題。

HTTP 302的第一個問題就是一個HTTP重定向請求所以我必須寫我在while循環代碼重新發送新的GET請求到「位置」在響應指定

關於www.wiley.com訪問的第二個問題可以通過立即粘貼請求頭並在獲得CONNECT後按回車來解決,而不是手動輸入。所以我想這個問題是由於輸入延遲導致的超時。當我在一個程序中這樣做時,它會是瞬間的,所以我不必擔心它。

4

您是否已正確建立PDP上下文?

下面是命令我使用的Telit GM862工作的反應,效果不錯:

AT#USERID="username" //set username provided by mobile operator 
AT#PASSW="password" //set password provided by mobile operator 
AT+CGDCONT=1, "IP", "internet","0.0.0.0",0,0 
AT#SKTSAV //save settings 

AT#GPRS=1 //check if PDP context is established - if it is it should return the IP 

+IP: 188.196.98.28 

OK 

AT#SKTD=0,80,"google.si",0,0 

CONNECT 

GET/HTTP/1.1<cr><lf> 
Host: www.google.si<cr><lf> 
Connection: keep-alive<cr><lf> 
<cr><lf> 
HTTP/1.1 200 OK 
Date: Fri, 27 May 2011 09:39:49 GMT 
Expires: -1 
Cache-Control: private, max-age=0 
Content-Type: text/html; charset=ISO-8859-2 
Set-Cookie: PREF=ID=2420df534f6e850f:FF=0:TM=1306489189:LM=1306489189:S=i3qJtsLHuyMMmV9q; expires=Sun, 26-May-2013 09:39:49 GMT; path=/; domain=.google.si 
Set-Cookie: NID=47=VGbr367EMHD9yp5XA61kWaWL37G_zBAIhy1CbRlEr3br0rcdM-H93M3Imfhm1ccDZiKjV2GhK3gZrg_LIbuz2ycgAZsGOGU1a29VXt7UahnmEqxcXMsG2JJc8GfaNsoM; expires=Sat, 26-Nov-2011 09:39:49 GMT; path=/; domain=.google.si; HttpOnly 
Server: gws 
X-XSS-Protection: 1; mode=block 
Transfer-Encoding: chunked 

1000 
<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-2"><title>Google</title><script>...</script> 
0 

NO CARRIER 
+0

嗨@Niko Gamulin,我得到了正確的響應,但我有一個HTTP響應中的問題,我也在你的例子中看到。問題是在有和/或的地方發送的HTTP響應中的隨機數/字符/代碼。如果你在你的例子中看到** 1000 **會在'<!doctype html>之後顯示** 0 **。這些垃圾字符或服務器只發送它?我必須將數據傳遞給瀏覽器,所以我不想要這些字符。如果在瀏覽器中打開頁面,我們不會看到這些字符。 – androidFan

相關問題