我在 ASP .NET 中创建了一个 Web 服务,并在 azure 上发布了此功能
public string GetObject(int id)
{
return ("it is a test !");
}
当我输入正确的网址时,它就起作用了。 但是当我尝试使用 arduino 发送请求时(基于 ethernetclient 示例),它不起作用。
arduino代码:
#include "Arduino.h"
#include <SPI.h>
#include <WiFlyHQ.h>
#include <Ethernet.h>
#include <SoftwareSerial.h>
WiFly wifly;
char ssid[] = "myssid";
char password[] = "mypass";
void setup() {
Serial.begin(9600);
wifly.begin(&Serial, NULL);
if (!(wifly.setSSID(ssid))) {
Serial.println("Fail to set ssid");
}
/* if (!(wifly.setKey(password))) {
Serial.println("Fail to set passPhrase");
} */
if (!(wifly.setPassphrase(password))) {
Serial.println("Fail to set passPhrase");
}
wifly.enableDHCP();
if (wifly.join()) {
Serial.println("Joined wifi network");
} else {
Serial.println("Failed to join wifi network");
}
if (wifly.open(myurl.azurewebsites.net)) {
wifly.println("GET /api/object/123 HTTP/1.0");
wifly.println("");
}
else
Serial.println("Connection failed");
}
void loop() {
if (client.available()) {
char c = client.read();
Serial.print(c);
}
}
与 ssid 的连接正常。但它会阻塞 wifly.open()。但是,如果我先输入 wifly.open("search.yahoo.com") 然后 wifly.write("GET/search?p=50+km+in+miles HTTP/1.0"),一切正常!
你知道为什么吗?
感谢您的帮助。
最佳答案
EthernetClient如何与WiFly连接?我没有看到任何连接它们的调用。我已经对 WiFly 模块进行了一些尝试,但我不明白您如何使用它来使用EthernetClient。
WiFly模块是网络连接,通过串口访问。您不需要通过它发出请求,通过串行处理来处理响应吗?
关于asp.net - 使用 arduino 向 ASP.NET webservice 发送 get 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20902540/