这篇文章主要围绕如何在服务器端访问PHPRESTAPIPUT数据?和如何访问服务器上的html展开,旨在为您提供一份详细的参考资料。我们将全面介绍如何在服务器端访问PHPRESTAPIPUT数据?的优
这篇文章主要围绕如何在服务器端访问PHP REST API PUT数据?和如何访问服务器上的html展开,旨在为您提供一份详细的参考资料。我们将全面介绍如何在服务器端访问PHP REST API PUT数据?的优缺点,解答如何访问服务器上的html的相关问题,同时也会为您带来.net core 在服务器端获取api传递的参数、.net core在服务器端获取api传递的参数过程、Ajax POST数据访问PHP页面、asp.net – 在服务器端运行VBA功能从WCF服务访问数据库的实用方法。
本文目录一览:- 如何在服务器端访问PHP REST API PUT数据?(如何访问服务器上的html)
- .net core 在服务器端获取api传递的参数
- .net core在服务器端获取api传递的参数过程
- Ajax POST数据访问PHP页面
- asp.net – 在服务器端运行VBA功能从WCF服务访问数据库
如何在服务器端访问PHP REST API PUT数据?(如何访问服务器上的html)
我是新的,所以我不能回答我自己的问题,直到8个小时后…奇怪:)
好的,在与这里的伟大人士工作之后,我不得不说我们遇到了这个答案.我正在踢自己,因为它很容易,同时这是令人困惑的.
curl_setopt($handle,CURLOPT_CUSTomrEQUEST,'PUT'); curl_setopt($handle,CURLOPT_POSTFIELDS,http_build_query($data));
第一个变化(上面)我不得不在$data附近添加http_build_query().这使我的数据从一个数组到一个url友好的字符串.
接下来我不得不补充.
parse_str(file_get_contents('PHP://input'),$put);
现在我可以像$put [‘data’]这样做.
PaulPRO给出的答案的确可以使file_get_contents()以较少的行获得数据.我们试图弄清楚如何解析我在另一个网站上看到的缺少http_build_query()的数据.
所以这是一切如何工作.
数据被放入正常的数组中.
> http_build_query()将它转换成一个很好的几乎GET像字符串.
> file_get_contents()将其从客户端传输到服务器.
> parse_str()然后将其转回到一个数组.
我看到很多有关使用PUT发送文件的消息.我可以看到这将如何工作,但从我在整个REST过程中读到的是,PUT是更新数据,因为post是创建数据.也许我错了我错过了什么吗?
– 题 –
我刚刚开始使用REST API,并且变得非常困惑.
这是我的PHP crul客户端看起来像一个PUT.
case 'PUT': curl_setopt($handle,'PUT'); curl_setopt($handle,$data); break;
现在,当我看着服务器,我的$_SERVER [‘REQUEST_METHOD’]显示PUT,但我的问题是如何获取使用CURLOPT_POSTFIELDS发送的$数据.
所有我需要做的是将一个PUT请求发送的$数据放到下一行.喜欢
$value = $data['curl_data'];
我对这个话题感到非常混乱,令我头痛.在PHP客户端看起来好像很简单,但是没有人能够为PHP服务器端工作.
感谢任何帮助!
PUT数据来自stdin:
$putdatafp = fopen(“PHP:// input”,“r”);
使用示例
$putfp = fopen('PHP://input','r'); $putdata = ''; while($data = fread($putfp,1024)) $putdata .= $data; fclose($putfp);
.net core 在服务器端获取api传递的参数
在 ActionFilterAttribute 的OnActionExecutionAsync 中使用如下代码从流中读取用户参数
//从文件流中读取传递测参数
using (var ms = new MemoryStream())
{
context.HttpContext.Request.Body.Seek(0, 0);//将读取指针迻到开始位置
context.HttpContext.Request.Body.CopyTo(ms);
var b = ms.ToArray();
var postParamsString = Encoding.UTF8.GetString(b);
}
虽然以前就知道是从流中读取,但是.net core的比较难找,找了将近两个小时才找到从流中读取参数的方法,关键是这句:context.HttpContext.Request.Body.Seek(0, 0);不然读取的内容为空
完整代码
public class SignValidateAttribute : ActionFilterAttribute
{
#region
/// <summary>
///
/// </summary>
/// <param name="context"></param>
/// <param name="next"></param>
/// <returns></returns>
public async override Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
//从文件流中读取传递测参数
using (var ms = new MemoryStream())
{
context.HttpContext.Request.Body.Seek(0, 0);
context.HttpContext.Request.Body.CopyTo(ms);
var b = ms.ToArray();
var postParamsString = Encoding.UTF8.GetString(b);
await next();
}
}
/// <summary>
///
/// </summary>
/// <param name="context"></param>
/// <param name="next"></param>
/// <returns></returns>
public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next)
{
//string dataJson = GetContextJson(context.);
return base.OnResultExecutionAsync(context, next);
}
#endregion
}
.net core在服务器端获取api传递的参数过程
这篇文章主要介绍了.net core在服务器端获取api传递的参数过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
在 ActionFilterAttribute 的OnActionExecutionAsync 中使用如下代码从流中读取用户参数
//从文件流中读取传递测参数 using (var ms = new MemoryStream()) { context.HttpContext.Request.Body.Seek(0, 0);//将读取指针迻到开始位置 context.HttpContext.Request.Body.CopyTo(ms); var b = ms.ToArray(); var postParamsString = Encoding.UTF8.GetString(b); }
虽然以前就知道是从流中读取,但是.net core的比较难找,找了将近两个小时才找到从流中读取参数的方法,关键是这句:context.HttpContext.Request.Body.Seek(0, 0);不然读取的内容为空
完整代码
public class SignValidateAttribute : ActionFilterAttribute { #region /// <summary> /// /// </summary> /// <param name="context"></param> /// <param name="next"></param> /// <returns></returns> public async override Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { //从文件流中读取传递测参数 using (var ms = new MemoryStream()) { context.HttpContext.Request.Body.Seek(0, 0); context.HttpContext.Request.Body.CopyTo(ms); var b = ms.ToArray(); var postParamsString = Encoding.UTF8.GetString(b); await next(); } } /// <summary> /// /// </summary> /// <param name="context"></param> /// <param name="next"></param> /// <returns></returns> public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) { //string dataJson = GetContextJson(context.); return base.OnResultExecutionAsync(context, next); } #endregion }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
- asp.net core集成JWT的步骤记录
- .net core webapi jwt 更为清爽的认证详解
- Asp.Net Core基于JWT认证的数据接口网关实例代码
- 深入讲解.Net Core中的Api版本控制
- .Net Core Api 使用版本控制详解
- .NET core 3.0如何使用Jwt保护api详解
Ajax POST数据访问PHP页面
<html>
<body>
<script type="text/javascript">
var ajax = null;
if(window.XMLHttpRequest){//创建Ajax对象
ajax = new XMLHttpRequest();
}else if(window.ActiveXObject){
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
if(ajax){//如果创建Ajax对象成功
var url = "login.inc.php";//设置Ajax访问的页面路径
var pStr = "username=root&pwd=root";//需要post的数据用&符号链接起来
ajax.open("POST",url ,true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置访问的http头
ajax.send(pStr);//提交数据
ajax.onreadystatechange = function(){
if(ajax.readyState == 4 && ajax.status == 200){
alert(ajax.responseText);//弹出php页面的返回信息
}
}
}else{
alert("Create Ajax Fail");return false;
}
</body>
</html>
asp.net – 在服务器端运行VBA功能从WCF服务访问数据库
解决方法
今天关于如何在服务器端访问PHP REST API PUT数据?和如何访问服务器上的html的介绍到此结束,谢谢您的阅读,有关.net core 在服务器端获取api传递的参数、.net core在服务器端获取api传递的参数过程、Ajax POST数据访问PHP页面、asp.net – 在服务器端运行VBA功能从WCF服务访问数据库等更多相关知识的信息可以在本站进行查询。
本文标签: