PHP如何接收外部数据,比如我想要‘东方财富网’的股票数据,如何做连接?

PHP如何接收外部数据,比如我想要‘东方财富网’的股票数据,如何做连接?,第1张

首先考虑对方API,不过我估计中国人的网站没几个开API的。
亚马逊就有API,你可以调取图书信息。
要么根据链接,获取整个网页内容,然后用正则表达式获取指定部分数据
可以参考 >

form表单demo:taskhtml

<fieldset id="setFiled">

<legend>发布任务</legend>

<form action="registrphp" method="post" id="steForm">

<label>任务类型:</label><br>

<input type="text" name="type"  id="taskType" placeholder="请选择任务类型"/><br>

<label>酬&nbsp;&nbsp;金:</label><br>

<input type="number" name="money" id="forMoney" min="1" max="1000"/><label>元</label><br>

<label>截止时间:</label><br>

<input type="datetime" name="time" id="timeSubmit"/><span data-year="" data-month="" data-date="" id="showDate"></span><br>

<label>详细描述:</label><br>

<textarea maxlength="512" name="textAray" id="msgArea"></textarea><br>

<input type="submit" name="subMit" id="forSub" value="点击发布" />

</form>

扩展资料

php接收POST数据的三种方式

1、$_POST 方式接受数据

$_POST 方式是由通过>

注:只能接收Content-Type:application/x->

2、GLOBLES[‘>

如果访问原始POST数据不是php能够识别的文档类型,比如:text/xml 或者soap等等,可以用$GLOBLES[‘>

注:$>

3、file_get_contents(“php://input”);

如果访问原始POST数据,更好的方法是使用file_get_content(“php://input”);对于未指定Content-Type的POST数据,可以使用该方法读取POST原始数据,包括二进制流也可以和$>

注:php://input不能用于 enctype=”multipart/form-data”

例如:$postStr = file_get_contents("php://input"); //获取POST数据

流程:
监听端口
接受连接
进行websocket握手
握手成功后的连接进行数据处理
返回响应数据 class WebsocketClient { private $_Socket = null; public function __construct($host, $port) { $this->_connect($host, $port); } public function __destruct() { $this->_disconnect(); } public function sendData($data) {我推荐你去后盾人上面看看里面有很多关于这类php之类的教学视频哦⊙∀⊙!,视频讲解高质量

头部加上超时控制,但对于很多服务器无效,因为服务器输出超时很多在服务器控制,所以建议用cmd脚本方式运行此程序:

<php
set_time_limit(0); //禁用脚本超时
// Create the socket and connect
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$connection = socket_connect($socket,'116。236。128。220', 14580);
// Write some test data to our socket
if(!socket_write($socket, "user NoCall pass -1 vers test 10 filter b/B \r\n"))
{
echo("<p>Write failed</p>");
}
if(!file_exists('socket_loghtml')){
file_put_contents('socket_loghtml', '<script>
var xx = setInterval(function(){ //每5秒刷新一次页面
windowlocationreload();
}, 5000);
</script>');
}
// Read any response from the socket
while($buffer = socket_read($socket, 64, PHP_NORMAL_READ))
{
echo json_encode($buffer); //转换为json数据输出
//记入文件
file_put_contents('socket_loghtml', json_encode($buffer), FILE_APPEND);
}
echo("<p>Done Reading from Socket</p>");

使用方法:用命令行方式运行此脚本

php scriptphp

脚本会一直运行到接收数据结束,并持续将收到的数据写入socket_loghtml文件。

在浏览器打开socket_loghtml页面,此页面会自动每5秒刷新一次,来显示最新的数据。

确保程序有权限创建及写入socket_loghtml文件

应该是phpini默认没有打开变量自动传递,方法一:修改phpini文件(windows的话一般在系统目录下),找到register_global = off选项,改成register_global = on 方法二:在你的程序中主动接受变量,页面最前面写上extract($_POST);extract($_GET);方法三:一个一个读取变量$a=$_GET["a"];$b=$_POST["b"];

PHP 可以通过POST、GET方法获取到表单提交的数据
获取到的POST、GET是数组形式的值,需要通过键值来详细获取相应的值
比如: indexphp 页面
下面是POST方法
<form name="form1" method="post" action="indexphp">
<input type="text" name="contents" value="">
<input type="submit" value="提交">
</form>
<php
//获取表单提交的数据
$contents = $_POST['contents'];
echo $contents;
>
也可以是下面是GET方法
<form name="form1" method="get" action="indexphp">
<input type="text" name="contents" value="">
<input type="submit" value="提交">
</form>
<php
//获取表单提交的数据
$contents = $_GET['contents'];
echo $contents;
>
POST相对于GET方法,更好一些,可以提交大量数据,以及更安全些。

$jsonData = $_POST['jsonData'];        // 接收数据
$arrayData = json_decode($jsonData, true); // 转码为数组 
var_dump($arrayData);             // 打印结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13216141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-21
下一篇 2023-06-21

发表评论

登录后才能评论

评论列表(0条)

保存