SkyScanner SessionKey 在哪里?
where is SkyScanner SessionKey?
先说SkyScanner文档
回复详情
成功的响应没有内容。用于轮询预订详细信息的 URL 在响应的位置 header 中指定。
和
这个 link 说响应成功 -> Location header return "sessionKey"
我的问题是响应成功但位置 header return null...
我使用 Okhttp 库和
这是我的代码
public String post(String url, String json) throws IOException {
try {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request
.Builder()
.url(url)
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencode")
.addHeader("Accept", "application/json")
.build();
Response response = client.newCall(request).execute();
Log.v("Response", "code : " + response.code());
Log.v("Response", "message : " + response.message());
Log.v("Response", "location : " + response.header("location"));
return response.body().string();
} catch (Exception e) {
return "";
}
}
还有我的日志
10-20 20:01:00.698 22202-22408/com.example.park.myapplication
V/Response: code : 200
10-20 20:01:00.698 22202-22408/com.example.park.myapplication
V/Response: message : OK
10-20 20:01:00.698 22202-22408/com.example.park.myapplication
V/Response: location : null
我该怎么办?请找到我的 Session 密钥...
更改库 Okhttp -> Httpurl连接...
尝试{
url = 新 URL(u);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(500 * 1000);
connection.setReadTimeout(500 * 1000);
connection.setRequestProperty("Cache-Control", "no-cache");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Accept", "application/xml");
connection.setDoOutput(true);
connection.setDoInput(true);
String Parameters = "apiKey=" + apiKey +
"&country=UK" +
"¤cy=GBP" +
"&locale=en-GB" +
"&originplace=EDI" +
"&destinationplace=LHR" +
"&outbounddate=2016-11-01" +
"&intbounddate=2016-11-08" +
"&locationschema=Iata" +
"&adults=1";
//Parameter 컨텐트 길이 넘겨주는 부분
byte[] postData = Parameters.getBytes(StandardCharsets.UTF_8);
int postDataLength = postData.length;
connection.setRequestProperty("Content-Length", Integer.toString(postDataLength));
OutputStream os = connection.getOutputStream();
os.write(postData);
os.flush();
int responseCode = connection.getResponseCode();
先说SkyScanner文档
回复详情
成功的响应没有内容。用于轮询预订详细信息的 URL 在响应的位置 header 中指定。
和
我的问题是响应成功但位置 header return null...
我使用 Okhttp 库和
这是我的代码
public String post(String url, String json) throws IOException {
try {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request
.Builder()
.url(url)
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencode")
.addHeader("Accept", "application/json")
.build();
Response response = client.newCall(request).execute();
Log.v("Response", "code : " + response.code());
Log.v("Response", "message : " + response.message());
Log.v("Response", "location : " + response.header("location"));
return response.body().string();
} catch (Exception e) {
return "";
}
}
还有我的日志
10-20 20:01:00.698 22202-22408/com.example.park.myapplication V/Response: code : 200
10-20 20:01:00.698 22202-22408/com.example.park.myapplication V/Response: message : OK
10-20 20:01:00.698 22202-22408/com.example.park.myapplication V/Response: location : null
我该怎么办?请找到我的 Session 密钥...
更改库 Okhttp -> Httpurl连接...
尝试{ url = 新 URL(u); HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(500 * 1000);
connection.setReadTimeout(500 * 1000);
connection.setRequestProperty("Cache-Control", "no-cache");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Accept", "application/xml");
connection.setDoOutput(true);
connection.setDoInput(true);
String Parameters = "apiKey=" + apiKey +
"&country=UK" +
"¤cy=GBP" +
"&locale=en-GB" +
"&originplace=EDI" +
"&destinationplace=LHR" +
"&outbounddate=2016-11-01" +
"&intbounddate=2016-11-08" +
"&locationschema=Iata" +
"&adults=1";
//Parameter 컨텐트 길이 넘겨주는 부분
byte[] postData = Parameters.getBytes(StandardCharsets.UTF_8);
int postDataLength = postData.length;
connection.setRequestProperty("Content-Length", Integer.toString(postDataLength));
OutputStream os = connection.getOutputStream();
os.write(postData);
os.flush();
int responseCode = connection.getResponseCode();