gpt4 book ai didi

swift - 向谷歌表单发出 POST 请求

转载 作者:搜寻专家 更新时间:2023-10-31 19:35:15 25 4
gpt4 key购买 nike

我想向 Google Form 发出 POST 请求,但遇到找不到页面的情况。我正在关注 this关于使用如何设置 POST 请求的指南。

我正在使用这个 Google 表单:https://docs.google.com/forms/d/1knZJE-3afDGgW9Sqg6Cf6WiMdCSDAkgvi-wc6aRXV3k/viewform

该表单有 3 个字段和一些隐藏的输入字段,例如本教程未提及的 draftResponse 和 pagehistory。

let url = NSURL(string: "https://docs.google.com/spreadsheets/d/1YrQ71fhsX4XQtwV8qHpoHreBeyl1EnNo2pvafsoygtk/edit#gid=990368688")

var request = NSMutableURLRequest(URL: url!)
let session = NSURLSession.sharedSession()

request.HTTPMethod = "POST"

var fieldsToPost = "entry.1959479545=test1&entry.354177126=test2&entry.1807599304=test@gmail.com" as NSString

request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")

request.HTTPBody = fieldsToPost.dataUsingEncoding(NSUTF8StringEncoding)

var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in

println("Response \(response)")

var strData = NSString(data: data, encoding: NSUTF8StringEncoding)

println(strData)

if error == nil {
println("error")
}

})


task.resume()

不确定我的 POST 信息或我的实现是否正确。大家怎么看?

下面是我的 Google Form 页面源输入字段:

input type="text" name="entry.1959479545" value="" class="ss-q-short" id="entry_1959479545" dir="auto" aria-label="First Name  " title=""
input type="text" name="entry.354177126" value="" class="ss-q-short" id="entry_354177126" dir="auto" aria-label="Last Name " title=""
input type="hidden" name="draftResponse" value="[,,"-7091411838997769820"]"
input type="hidden" name="pageHistory" value="0"
input type="hidden" name="fbzx" value="-7091411838997769820"

最佳答案

我在我正在从事的一个实用项目中完成了这个任务,在这个 repo 中查看它:https://github.com/goktugyil/QorumLogs

这里是如何设置它的教程: https://github.com/goktugyil/QorumLogs/blob/master/Log%20To%20GoogleDocs.md

代码如下:

private static func sendError(#text: String) {
var url = NSURL(string: formURL)
var postData = formField1 + "=" + text
postData += "&" + formField2 + "=" + "anothertext"
postData += "&" + formField3 + "=" + "anothertext"
postData += "&" + formField4 + "=" + "anothertext"

var request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.HTTPBody = postData.dataUsingEncoding(NSUTF8StringEncoding)
var connection = NSURLConnection(request: request, delegate: nil, startImmediately: true)
}

一个常见的错误是使用输入表单的“名称”字段,但是您应该使用“id”。

关于swift - 向谷歌表单发出 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com