2013-12-11 42 views
-1

,我想我的Arduino发送GET请求一个URI我有我的本地网络上。我可以打开浏览器并手动粘贴请求,并且它可以正常工作。我也在使用jQuery的网页上提出了同样的要求,没有问题。Arduino的以太网盾进行GET请求,但没有任何反应

我遵循了Arduino的教程,我看不到我在做什么错的,如果一些能帮助将非常感激。

#include <SPI.h> 
#include <Ethernet.h> 

// Enter a MAC address for your controller below. 
// Newer Ethernet shields have a MAC address printed on a sticker on the shield 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
IPAddress server(192,168,0,34); 

// Set the static IP address 
IPAddress ip(192,168,0,177); 

// Initialize the Ethernet client library 
EthernetClient client; 

void setup() { 
// Open serial communications and wait for port to open: 
Serial.begin(9600); 
Ethernet.begin(mac, ip); 

// give the Ethernet shield a second to initialize: 
delay(1000); 

} 

void loop() 
{ 
Serial.println("connecting..."); 

    if (client.connect(server, 81)) { 
    Serial.println("connected"); 

    client.print("GET /tenHsServer/tenHsServer.aspx?t=ab&f=ToggleDevice&d="); 
    client.print("E3"); 
    client.println(" HTTP/1.1"); 
    client.println("Host: 192.168.0.34"); 
    client.println(""); //mandatory blank line 
} 
} 

回答

0

对于这种类型的问题,您应该了解有关web debbugging工具。我最喜欢的是fiddler2。但它仅适用于Windows。对于其他plattforms搜索网络http debug proxy。除了总有wiresharkncat

一旦你有了到位这样的工具只是看看所产生的流量,并将其与实际工作的流量进行比较。这通常可以很快确定问题。

+0

确定我已经安装了Wireshark的,有一个看起来Arduino的后置代号不GET请求!!!!!!!!!!!!!!数据包来回,但不GET!我把复制的网址转换成一个浏览器,你可以看到日期清晰!这怎么可能是我根本不懂的。如果你点击这个链接,你可以看到一个屏幕截图https://dl.dropboxusercontent.com/u/102059869/example.jpg – user2247671

+0

所以你发现问题不是请求的格式,而是Arduino没有完全发出任何请求。所以下一步就是获得任何与你的设置一起工作的例子。以太网防护罩是否带有适用于您的硬件的任何示例? –

+0

我已经创建的代码是从上Arduino的位点的实例?将不得不继续挖掘。 – user2247671