如何从GWT进行跨域调用? 我发现JSONPRequestBuilder是一个解决方案,但它只能创建GET请求而不是POST。我正在尝试调用谷歌的URL缩短服务(“http://goo.gl/api/shorten”)。
答案 0 :(得分:1)
从GAE上的servlet,您可以通过URLFetch调用外部http服务。
从客户端GWT,您可以通过gwt-google-apis直接调用Google Shortener API。请参阅页面末尾的shortener example。
答案 1 :(得分:0)
通过URLFetch获取。以下是我的代码:
//Classes to import
import com.google.appengine.api.urlfetch.HTTPMethod;
import com.google.appengine.api.urlfetch.HTTPRequest;
import com.google.appengine.api.urlfetch.HTTPResponse;
import com.google.appengine.api.urlfetch.URLFetchService;
import com.google.appengine.api.urlfetch.URLFetchServiceFactory;
//Shortening download URL
URL url=new URL("http://goo.gl/api/shorten");
HTTPRequest req=new HTTPRequest(url,HTTPMethod.POST);
req.setPayload(("url=www.google.com").getBytes());
URLFetchService service = URLFetchServiceFactory.getURLFetchService();
HTTPResponse response = service.fetch(req);
byte[] content = response.getContent();
String urlshort=new String(content); //here is the JSON data from goo.gl