- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有以下代码将发布数据发送到服务器,但服务器未检测到请求中的任何发布数据。客户端代码:
cookieJar, _ := cookiejar.New(nil)
client := &http.Client{
Jar: cookieJar,
}
postUrl := os.Args[1]
username := os.Args[2]
password := os.Args[3]
data := url.Values{}
data.Set("username", username)
data.Add("password", password)
data.Add("remember", "false")
r, _ := http.NewRequest("POST", postUrl, bytes.NewBufferString(data.Encode()))
resp, _ := client.Do(r)
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Printf("%s\n", string(body))
服务器代码:
if(isset($_POST['username'], $_POST['password'], $_POST['remember'])){
echo $username = md5(($_POST['username']));
echo $password_original = $_POST['password'];
echo $password = md5(($_POST['password']));
echo $remember = $_POST['remember'];
}
最佳答案
您在没有内容类型的请求正文中将数据作为表单发布。您要么需要将值放入请求查询中:
r.URL.RawQuery = data.Encode()
或将 Content-Type 更改为“application/x-www-form-urlencoded”:
r.Header.Add("Content-Type", "application/x-www-form-urlencoded")
关于php - http.newRequest 不发送发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926340/
Golang 有这两个相似的库 http 和 httptest 并且它们都有 NewRequest 函数。 如果 http.NewRequest 能做到这一切,为什么我们还需要 httptest.Ne
我尝试用这段代码解析一个页面: client := &http.Client{} profile := getEpiURL(login) log.Print("Fetch " + profile) r
我有以下代码将发布数据发送到服务器,但服务器未检测到请求中的任何发布数据。客户端代码: cookieJar, _ := cookiejar.New(nil) client := &ht
package main import ( "log" "net/http" ) func main() { // invalid method called "bad"
所以,我刚刚开始使用 Go,我正在尝试学习 HTTP 包。我在网上找到了这个程序 headers := make(map[string]string) headers["authorization"]
我们有一个接受 JSON 的 API。我们鼓励人们在发布之前对有效负载进行 gzip 压缩,因为我们对大小施加了限制。我想查看原始 JSON 和 gzip 压缩后的实际大小差异,但我似乎无法在构建后可
我有以下用于测试 http 请求的代码: func TestAuthenticate(t *testing.T) { api := &ApiResource{} ws := new(r
我正在尝试使用http.NewRequest()将数据从一个golang服务传递到另一个golang服务。为此,我使用了以下代码: httpClient := http.Client{
当使用 http.NewRequest("GET", url , nil) 用于包含 % 后跟某个数字的 URL 时,*示例:https://api.deutschebahn.com/freeplan
我正在创建一个请求 stub ,以便将其传递给被测试的函数: request := httptest.NewRequest("GET", "http://example.com/foo", nil)
我正在努力创建一个用于管理 DigitalOcean Droplets 的小控制台,但我遇到了这个错误: cannot use s (type []byte) as type io.Reader in
我最熟悉 Go 中的测试,但正在努力寻找一种方法来测试以下函数: func postJson(url string, jsonData []byte) error { req, err :=
go版本go1.8.1 windows/amd64 用于构建http请求的“net/http”包。 req, err := http.NewRequest("GET",`http://domain/_
我正在尝试编写一个 post 请求函数,将文件从 golang 服务器发送到客户端。代码从这里(golang POST data using the Content-Type multipart/fo
我对 Golang 还是个新手。你对如何在你的 Go 测试文件中有效地创建多个 httptest.NewRequest 有什么想法吗?通常我发起一个新变量两个创建新请求。 例如: r1 := http
我正在尝试使用 Go 的 http.POST 发布一个 struct,但是我没有成功。 请看: //SKUStock definition type SkuStock struct { Sku
当我尝试在 http.NewRequest 中使用 %2F 来包含“/”时,它会在调用 url.Parse() 时将其转换回“/”。有什么办法可以防止这种情况发生吗?我尝试将百分比转换为 %25,但它
我正在使用 http.NewRequest 发出 GET 请求。 我故意试图篡改 API url 只是为了检查我的错误处理是否有效。 但它没有按预期工作。返回错误值,我无法比较它。 jsonD
这是我的测试方法,它创建一个新请求并传递 POST 参数。 url1 := "/api/addprospect" data := url.Values{} data.Add("customer_nam
这一定很简单,但我不明白为什么在使用 go 发出 HTTP 请求时,请求的主体被包裹在一组额外的大括号中: package main import ( "bytes" "fmt"
我是一名优秀的程序员,十分优秀!