我想通过 post 方法使用 PHP 处理数据,我想知道是否推荐这两种方法(“post”和“POST”)。
我应该使用method="POST"或method="post"HTML 形式吗?
谢谢。
我正在使用WebClient.UploadData()方法 (C#) 向我的网络服务器发送 POST 请求。发送到我的网络服务器的数据包如下所示:
POST / HTTP/1.1
Host: {ip}
Content-Length: {length}
Expect: 100-continue
Connection: Keep-Alive
{buffer_content}
Run Code Online (Sandbox Code Playgroud)
由于 {buffer_content} 未在 $_POST 数组中分配,我有以下问题...
问题:如何用 PHP 读取 {buffer_content}?
我偶然发现了file_get_contents('php://input'),但我不确定是否建议这样做。
我正在尝试将文件发送到 API,然后获取响应 - 一个 CSV 文件(我看过有关它的不同 帖子,但我无法使其工作)
文档中的示例使用 httpie
http --timeout 600 -f POST http://api-adresse.data.gouv.fr/search/csv/ data@path/to/file.csv
Run Code Online (Sandbox Code Playgroud)
但是当我使用请求时,我得到一个 400 Bad Request
path = '/myfile.csv'
url = 'http://api-adresse.data.gouv.fr/search/csv/'
files = {'file': open(path, 'rb')}
res = requests.post(url, data=files)
Run Code Online (Sandbox Code Playgroud) 我正在尝试像以前在 Android 中那样使用 HttpPost 。我意识到它已从最近的 Android 版本中删除。按照类似 StackOverflow 问题的解决方案,我将其添加到我的 Gradle 依赖项中:
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
Run Code Online (Sandbox Code Playgroud)
在 Gradle 同步没有错误后,我仍然无法导入 HttpPost 程序。事实上,org.apache.http.client.methods 包根本无法解析。
我还尝试了 Apache HttpClient 网站的建议,即在我的 Gradle 依赖项中使用它:
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
Run Code Online (Sandbox Code Playgroud)
同步再次顺利进行,这次包已解析,但 HttpPost 程序未解析。
如果有任何建议,我将不胜感激。
我尝试INSERT使用 Virtuoso 中基于 Web 的 SPARQL 端点 ( http://localhost:8890/sparql/ )为 RDF 三元组执行语句:
INSERT DATA
{
GRAPH <http://my.graph>
{
<http://test.com/someid> <http://namespace.ref#someVar> 123
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到了
Virtuoso 42000 错误 SR186:SECURITY: 无权限使用用户 ID 107、组 ID 107 执行过程 DB.DBA.SPARQL_INSERT_DICT_CONTENT
我能够通过我的数据库编辑器运行相同的语句,该编辑器在 port 上使用 JDBC 驱动程序1111,使用DBA登录名。
在我将以下内容作为DBA直通端口运行后,Web 界面/服务插入成功1111:
grant execute on DB.DBA.SPARQL_INSERT_DICT_CONTENT to "SPARQL";
grant execute on DB.DBA.SPARQL_INSERT_DICT_CONTENT to SPARQL_UPDATE;
Run Code Online (Sandbox Code Playgroud)
不过,我想撤消用户的特权SPARQL,我的理解是与网络接口相关联,并发送HTTP POST/ PUT/DELETE使用摘要身份验证提供的用户凭据请求。这是可能的吗?我去了手册的这个页面,但它是空的。
我正在尝试制作一个简单的留言板 MySQL 数据库,您可以在其中撰写评论并通过 HTML 表单在一页上提交,并在提交评论后在单独的页面上查看所有评论。
我的问题是 HTML 表单中的两个字段没有插入到我的 MySQL 数据库中,这导致我查看所有评论页面缺少名称和标题。
当我测试它只用 PHP 执行 MySQL 查询时,代码工作没有任何问题,但我需要我的 HTML 表单才能工作。
HTML表单:
<form action ="process.php" method = "post">
<fieldset>
<legend>Review Field</legend>
Reviewer Name: <br />
<input type="text" name "name" id = "name"><br />
Title of Review:<br />
<input type="text" name "title" id = "title"><br />
Enter your review below:
<!--Textbox start-->
<textarea name="body" id = "body" rows="10" cols="100">
</textarea>
<!--Textbox end-->
<br />
<input type="submit" name = "submit" id="submit">
<br />
</fieldset>
</form> …Run Code Online (Sandbox Code Playgroud) 在下面的http处理程序中,我尝试区分请求体是否为空
type Request struct {
A bool `json:"lala"`
B bool `json:"kaka"`
C int32 `json:"cc"`
D int32 `json:"dd"`
}
var (
opts Request
hasOpts bool = true
)
err = json.NewDecoder(r.Body).Decode(&opts)
switch {
case err == io.EOF:
hasOpts = false
case err != nil:
return errors.New("Could not get advanced options: " + err.Error())
}
Run Code Online (Sandbox Code Playgroud)
但是,即使是r.Bodyequals '{}',hasOpts仍然是true。这是意料之中的吗?在这种情况下,我应该如何检测空请求正文?
我有一个 API,目前正在尝试使用其端点之一。端点用于 POST 请求,端点按预期工作。API 在云中运行,我对其进行了测试,curl结果非常完美,然后我试图从我的 React 应用程序中使用它,但我得到了403 status code.
在浏览器的控制台中观看时,我看到我在 OPTIONS 请求中收到该错误,并且 POST 从未完成。这是控制台中显示的结果的屏幕截图:
然后,我用一个表单制作了一个简单的 HTML 文件,在那里我放置了所需的输入,以及指向这个端点的动作,它工作得很好。然后,我不知道错误在哪里?我在 API 中启用了 CORS
在 API 中,我使用 Gorilla/mux,我有这样的东西:
// Set up a router and some routes
r := mux.NewRouter()
r.HandleFunc("/", handleHome)
//some other routes
headersOk := handlers.AllowedHeaders([]string{"*"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
// Start http server
port := fmt.Sprintf(":%d", SomePort)
http.ListenAndServe(port, handlers.CORS(originsOk, headersOk, methodsOk)(r))
Run Code Online (Sandbox Code Playgroud)
使用:
"github.com/gorilla/mux"
"github.com/gorilla/handlers"
Run Code Online (Sandbox Code Playgroud)
我在浏览器中收到的消息是(西班牙语):
Solicitud desde otro origen bloqueada:la politica de …
所以我试图在 Angular 中从数组中执行 POST 请求。基本上,当用户选择列表中的多个项目时,他们可以“解锁”每个项目。所以我遇到的问题是如何使用 forEach 进行 POST。我能够使用 forLoop 执行 POST,但问题是当它执行一个 POST 时,它不会执行另一个。有人可以指出我做错了什么,或者是否有更好的解决方案来解决这个问题?
以下是我查看的其他堆栈问题以找到可能的解决方案:
组件.ts
locked: Array<any> = [];
// Unlock
unlock() {
let observer = {
next(data) {
data => console.log(data)
},
error(error) {
return new Error('Post Error');
},
complete() {
console.log("Completed");
// window.location.reload();
}
}
// On unlock send lock data to Service for POST
this.http.postUnlock(this.unlocked).subscribe(observer);
}
Run Code Online (Sandbox Code Playgroud)
服务.ts
// POST to UNLOCK RESOURCES
postUnlock(locked) {
let headers = new …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 https 网站推送制作一个简单的解析器,因此尝试遵循http://rosettacode.org/wiki/HTTP#Ada 中的示例,只需更改网站的地址即可。
所以我试过了
with Ada.Text_IO; use Ada.Text_IO;
with AWS.Client;
with AWS.Response;
procedure Main_Other is
begin
Put_Line (AWS.Response.Message_Body
(AWS.Client.Get
(URL => "https://google.com")));
end Main_Other;
Run Code Online (Sandbox Code Playgroud)
但我有一个例外
引发的 PROGRAM_ERROR :aws-client.adb:398 finalize/adjust 引发的异常 [2020-04-02 10:41:20] 进程以状态 1 退出,经过时间:00.80s
那么,关于如何解决这个问题的任何想法?
我想解析网站中某些表的当前状态,类似于在 Python 中制作类似的东西
import pandas as pd
def retrieve_json(json_url):
return pd.read_json(json_url)
Run Code Online (Sandbox Code Playgroud)
我想以最简单的方式编写此解决方案,甚至最好不要依赖 AWS。
请,谢谢。