簡體   English   中英

HTTP POST表示無法在iOS中使用的表單

[英]Http POST for a form not working in iOS

我正在嘗試通過iPhone應用程序登錄網頁。 我嘗試同時使用ASIFormDataRequest和NSURLConnection,但是無法成功完成登錄過程。 以下是HTML表單代碼和我的iOS代碼:

<form action="login.chi">
<div id="login">
<div id="login-form">
<table>
<tr>
  <td>Username</td>
  <td><INPUT NAME="username" VALUE=""></td>
</tr>
<tr>
  <td>Password</td>
  <td><INPUT NAME="password" VALUE="" TYPE="password"></td>
</tr>
<tr>
  <td colspan="2" nowrap align="center">
    <input type="submit" name="button" value="Login">
  </td>
</tr>
</table>
</div>
</div></form>

我的應用程式碼:

NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com/login.chi"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"test" forKey:@"username"];
[request setPostValue:@"test" forKey:@"password"];

[request startSynchronous];

它發布數據並返回HTTP狀態代碼= 200,但未完成身份驗證。 我對它進行了布線以查看POST是否正確,並且看起來正確。 請告知我所缺少的..謝謝..

更新:

我更仔細地看了一下wireshark捕獲的內容,發現它位於一個中間頁面上,該頁面具有要成功進行身份驗證需要發送的URL信息。響應如下所示:

<html><head>
  <meta http-equiv="refresh" content="0;url=http://ip_address:port/login?username=test&response=588ba0bd013e5f4873b46ff96e165e4a&userurl=http://www.google.org/"/>
</head></html>

meta標記中的內容包含我需要連接以完成身份驗證的“ URL”。 通常,瀏覽器會自動執行此操作,但是我無法理解如何在應用程序中進行處理。我應該解析響應字符串並從中提取網址嗎? 那是路要走嗎? 請建議..

您的表單發布到login.chi但是您的Objective-C代碼發布到/login 您需要正確的完整路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM