2

私は、研究目的で Telit GL-865 GSM/GPRS モデム キットに取り組んでいます。シリアルポートを使用してPCに接続し、パテを使用して端末にアクセスしました。

すべての AT コマンドを正常に実行して、SMS の送受信、音声通話などを行うことができます。

AT+CGDCONT を使用して GPRS コンテキストを設定し、AT#SKTD を使用してサーバーへの接続を開き、GET および POST 要求を送信することもできます。また、すべてのヘッダーを適切に含む HTTP 応答も取得します。

ただし、一部の Web サイトでは、適切な応答が得られません。たとえば。- 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 スクリプトをテストすることもできません。AT#STKD への応答として CONNECT を受け取りますが、要求ヘッダーの入力を完了する前に NO CARRIER メッセージを受け取ります。

4

2 に答える 2

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
于 2011-07-21T10:30:32.267 に答える
2

私はほとんど問題を解決しました。

HTTP 302の最初の問題は単なるHTTP リダイレクション リクエストであるため、コードを while ループに記述して、新しい GET リクエストをResponseで指定された「場所」に再度送信する必要があります。

また、www.wiley.com へのアクセスに関する 2 つ目の問題は、手動で入力する代わりに、CONNECT を取得した後、要求ヘッダーをすぐに貼り付けて Enter キーを押すことで解決されます。したがって、問題はタイピングの遅延が原因で発生するタイムアウトによるものだと思います。プログラムでこれを行っている場合、それは瞬時に行われるため、心配する必要はありません。

于 2011-07-14T06:51:09.500 に答える