Google TrendsからHTTPを使用してJSON応答を取得しようとしています。これは私のコードスニペットです:(Java)HTTP GETリクエストは、リンクがブラウザで完全に正常に機能しているにもかかわらず400応答コードを取得し続ける
public class TestClass {
public static void main(String[] args) throws Exception{
String address = "https://trends.google.com/trends/api/explore?hl=en-US&tz=240&req={\"comparisonItem\":[{\"keyword\":\"Miley\",\"geo\":\"US\",\"time\":\"2012-01-01 2014-01-01\"},{\"keyword\":\"Hannah Montana\",\"geo\":\"US\",\"time\":\"2012-01-01 2014-01-01\"}],\"category\":0,\"property\":\"\"}";
URL url = new URL(address);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
System.out.println("URL is "+address);
System.out.println("Response code is " + responseCode); }
}
は、これが出力されます:私は私のブラウザで直接URLを入力した場合
URL is https://trends.google.com/trends/api/explore?hl=en-US&tz=240&req={"comparisonItem":[{"keyword":"Miley","geo":"US","time":"2012-01-01 2014-01-01"},{"keyword":"Hannah Montana","geo":"US","time":"2012-01-01 2014-01-01"}],"category":0,"property":""}
Response code is 400
、Googleは私に問題はないとのJSONファイルを提供します。しかし、Javaを使用してそのURLにアクセスしようとすると、悪い要求が与えられます。どうすればこの問題を解決できますか?前もって感謝します。
URL文字列の二重引用符をスラッシュでエスケープしないでください。一重引用符を使用して何が起こるかを確認してください。 –
@ DanielH.J。私はちょうどそれを試して、それは動作しませんでした –
私はこの権利を読んでいる場合は、あなたのコードがブラウザに出力するURLを貼り付けているときに開いていると言っている? – fuzzyblankey