Pls は画像http://whatcodecraves.com/images/backbonejs-auth-http.pngを参照してください。
2 つの AJAX リクエストがあります。
最初に認証したサーバーは、次のように応答しました。
Set-Cookie:JSESSIONID=06AB56403C08AD373BEDE33CBEFBE102; Path=/
セッションを使用する別の 1 つ。同じ認証セッション (GET 要求) を使用するためにサーバーに送信するには、これをどうすればよいですか?
私のコード:
最初の AJAX リクエスト:
$.ajax({ url : "https://www.hafiz.gov.sa/HRDFWeb/AuthenticateDirectly", type : "POST", data : { "date" : "135854809", "json" : JSON.stringify({ "nin" : "1089194383", "password" : "255793" }) }, success : function(data) { console.log(data); } });
2 番目の AJAX リクエスト:
$.ajax({ url : 'https://www.hafiz.gov.sa/HRDFWeb/UpdateLastLogin?nin=1089194383&password=255793&date=1374661464&callback=?', type : "get", dataType: 'jsonp', success : function(data) { console.log(data); }, error : function(data){ console.log(data); } });
編集:
@w4rumy、ご回答ありがとうございますが、そのコードにアクセスできません。私はphonegap Androidアプリを書いています.これはサーバーに接続するために使用するコードです.
HttpPost httpost = new HttpPost("https://www.hafiz.gov.sa/HRDFWeb/AuthenticateDirectly");
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("date", System.currentTimeMillis() + ""));
nvps.add(new BasicNameValuePair("json", "{\"nin\":\""+idd+"\",\"password\":\""+passs+"\"}"));
try {
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
response = httpclient.execute(httpost);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
entity = response.getEntity();
Log.v("mytag", "Login form get: " + response.getStatusLine());
if (entity != null) {
try {
entity.consumeContent();
} catch (IOException e) {
e.printStackTrace();
}
}
Log.v("mytag", "Post logon cookies:");
cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
Log.v("mytag", "None");
} else {
for (int i = 0; i < cookies.size(); i++) {
Log.v("mytag", "- " + cookies.get(i).toString());
}
}
httpget = new HttpGet("https://www.hafiz.gov.sa/HRDFWeb/UpdateLastLogin?nin=1089194383&password=255793&date=1358448809");
try {
response = httpclient.execute(httpget);
} catch (ClientProtocolException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
content = response.getEntity().getContent();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}