网站建设资讯

NEWS

网站建设资讯

php向指定地址发送数据 php上传数据

如何在PHP中使用socket+XML发送数据包

接收指定IP的数据包,其他IP都要过滤吧,那就用防火墙来搞吧

成都创新互联是专业的阿图什网站建设公司,阿图什接单;提供网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行阿图什网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

使用的是client段的获取方式,用client的可以指定IP,代码大概如下

public void SendMessage()

{

ASCII = Encoding.ASCII;

// 构造用于发送的 字节缓冲.

Byte[] sendBytes = ASCII.GetBytes(SEND_MESSAGE);

// 构造用于接收的 字节缓冲.

Byte[] recvBytes = new Byte[256];

// IP地址.

IPAddress localAddr = IPAddress.Parse("192.168.19.81");

// 接入点.

IPEndPoint ephost = new IPEndPoint(localAddr, PORT);

// 第一个参数:AddressFamily = 指定 Socket 类的实例可以使用的寻址方案。

// Unspecified 未指定地址族。

// InterNetwork IP 版本 4 的地址。

// InterNetworkV6 IP 版本 6 的地址。

//

// 第二个参数:SocketType = 指定 Socket 类的实例表示的套接字类型。

// Stream 一个套接字类型,支持可靠、双向、基于连接的字节流,而不重复数据,也不保留边界。

// 此类型的 Socket 与单个对方主机通信,并且在通信开始之前需要建立远程主机连接。

// 此套接字类型使用传输控制协议 (Tcp),AddressFamily 可以是 InterNetwork,也可以是 InterNetworkV6。

//

// 第三个参数:ProtocolType = 指定 Socket 类支持的协议。

// Tcp 传输控制协议 (TCP)。

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

try

{

// 尝试连接主机.

s.Connect(ephost);

//Console.WriteLine("向服务器发送到了:{0}", SEND_MESSAGE);

// 向主机发送数据.

// s.Send(sendBytes, sendBytes.Length, SocketFlags.None);

// 接收服务器的应答.

Int32 bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);

StringBuilder buff = new StringBuilder();

// while (bytes 0)

// {

// 将缓冲的字节数组,装换为字符串.

// String str = ASCII.GetString(recvBytes, 0, bytes);

String str = "";

for (int i = 0; i recvBytes.Length; i++)

{

str = str + recvBytes[i];

}

int iCount = 0;

iCount = int.Parse(str.Substring(13, 6)) ;

// 加入字符串缓存

buff.Append(str);

// 再次接受,看看后面还有没有数据.

//bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);

// }

textBox1.Text = iCount.ToString();

}

catch (Exception ex)

{

MessageBox.Show("连接/发送/接收过程中,发生了错误!");

MessageBox.Show(ex.Message);

//Console.WriteLine("连接/发送/接收过程中,发生了错误!");

//Console.WriteLine(ex.Message);

//Console.WriteLine(ex.StackTrace);

}

finally

{

s.Close();

}

php 给另外一个php网页发送数据,只管发送不需要接收

同一个域名下的就用ajax直接请求,不同域名下的话就要curl 做请求

php表单数据发送到指定邮件

首先,我们需要去Github(网页链接)下载完整的SwiftMailer

这里主要使用到的是下载解压后lib文件夹里的内容,然后需要一些配置项,为方便管理和修改,此处我们写一个配置文件config.php,来进行配置,此处以QQ邮箱为例,配置项如下:

然后自定义一个函数sendMail(函数里的C是thinkphp里获取配置文件的方法,自己在不是tp里的话使用直接require就可以了)

然后在相关代码里使用调用sendMail发送邮件,这里以ThinkPHP里的controller为例子,使用方法如下:

发送成功后显示 ‘Done!’:

然后就可以去邮箱查看是否收取到邮件咯。

就是这么简单。

参考:网页链接

如何从一个php文件向另一个地址post数据

php调接口都是通过curl来完成的。

下面是我项目中的一个方法:

$url 是要post的地址

$params 是参数,格式array('参数1'='参数1值','参数2'='参数2值')

$header 请求头,如果模拟浏览器访问需要

$timeout 超时时间

//公共获取指定网页内容

function curl($url,$params = array(),$header = array(),$timeout = 180){

if(empty($url)) return $url;

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL,$url);//请求url地址

curl_setopt($curl, CURLOPT_HTTPHEADER , $header );  //构造IP

if(!empty($params)  count($params)  0){

curl_setopt($curl, CURLOPT_POST, true);

//Request Payload格式数据

if(isset($params['is_json'])  $params['is_json'] === true){

unset($params['is_json']);

$params = json_encode($params);

}else{

$params = http_build_query($params);

}

curl_setopt($curl, CURLOPT_POSTFIELDS, $params);        

}

//curl_setopt($curl, CURLOPT_HEADER, true);//是否返回响应头信息

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//是否将结果返回

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);//是否重定向

//curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36');

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);   // 只信任CA颁布的证书  

//curl_setopt($curl, CURLOPT_CAINFO, $cacert); // CA根证书(用来验证的网站证书是否是CA颁布)  

//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配  

// 从证书中检查SSL加密算法是否存在

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); 

//curl_setopt($curl, CURLOPT_HTTPHEADER, array("Expect: ")); 

curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);//用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;

curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);//用来告诉成功PHP脚本,从服务器接收缓冲完成前需要等待多长时间。如果目标是个巨大的文件,生成内容速度过慢或者链路速度过慢,这个参数就会很有用。

// 自动设置Referer

curl_setopt($curl, CURLOPT_AUTOREFERER, 1);

//curl_setopt($curl, CURLOPT_COOKIEJAR, "D:\phpStudy\WWW\cj\cooBE66.tmp");// //写入cookie信息

//setcookie('cookie_jar', $cookie_jar); //保存cookie路径

$data = curl_exec($curl); //执行    

curl_close($curl);

return $data;

}

PHP发送数据到指定IP计算机

要看你是同步还是异步了,异步的话,每次发送都要走三次握手,再计算总时间

你要快就同步,同时发1000台计算机,不用等每一次的返回是否正确.


文章名称:php向指定地址发送数据 php上传数据
转载来源:http://cdweb.net/article/hioiho.html