我在这一点上有点困惑。到目前为止,我已经与要向网站的连接建立了连接,该网站要向网站提交登录表。当我访问网站时,它需要一个用户名和密码,然后让您登录登录网站的登录版本。该站点的源代码包含用于文本输入的位置持有人。位置支架的字符串作为变量存储。我认为我需要在返回的HTTP数据中搜索它。来自登录页面的数据成功返回,印刷输出包含这些占位符。我通过文本字段从用户那里获取用户名和密码,但是我该如何告诉网站将这些用户值插入网站字段并提交表单(基本上是按"登录"(,以便到达登录的网站版本?当我查看与之合作的网站的来源时,代码在JavaScript中。这需要jQuery或JSON解析(获取/发布请求(还是我尝试错误的事情?
import UIKit
class ViewController: UIViewController {
final var USERNAME_FIELD = "ctl00$ContentPlaceHolder$Username"
final var PASSWORD_FIELD = "ctl00$ContentPlaceHolder$Password"
@IBOutlet weak var gobuttom: UIButton!
@IBOutlet weak var passField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
gobuttom.isEnabled = true
data_request("https://example.com")
}
func data_request(_ url:String)
{
let url:NSURL = NSURL(string: url)!
let session = URLSession.shared
let request = NSMutableURLRequest(url: url as URL)
request.httpMethod = "POST"
let paramString = "data=test"
request.httpBody = paramString.data(using: String.Encoding.utf8)
let task = session.dataTask(with: request as URLRequest) {
(
data, response, error) in
guard let _:NSData = data as NSData?, let _:URLResponse = response, error == nil else {
print("error")
return
}
if let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
{
print(dataString)
}
}
task.resume()
}
@IBOutlet weak var usernameField: UITextField!
@IBAction func usernameChanged(_ sender: Any) {
print("textfield : (String(describing: usernameField.text))")
gobuttom.isEnabled = true
}
@IBAction func goPressed(_ sender: Any) {
if(usernameField.text != "" && passField.text != ""){
print("OK")
}
}
}
http取消在Swift中是相当复杂的。除非您定期使用Web开发,否则就没有太多有关如何执行此操作的信息。这是有关快速刮擦的出色教程:https://www.youtube.com/watch?v=gscuauskxni