真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php發(fā)送xml數(shù)據(jù) php讀取xml文件

php如何post XML到指定服務(wù)器

以下是一個(gè)編寫好的post?XML?的類:

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),德惠網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:德惠等地區(qū)。德惠做網(wǎng)站價(jià)格咨詢:18982081108

?php

class?xmlSender?{

/**

*?構(gòu)造器

*?校驗(yàn)?cURL?是不是可用

*/

function?xmlSender()

{

if?(?!extension_loaded('curl')?)?{

trigger_error("You?need?cURL?loaded?to?use?this?class",?E_USER_ERROR);

}

}

/**

*?使用了cURL庫(kù)發(fā)送?xml?內(nèi)容

*/

function?send(?$str_xml,?$str_url,?$str_page,?$boo_ssl?=?false?)

{

$str_header??=?"POST?"?.?$str_page?.?"?HTTP/1.0?\r\n";

$str_header?.=?"MIME-Version:?1.0?\r\n";

$str_header?.=?"Content-type:?application/PTI26?\r\n";

$str_header?.=?"Content-length:?"?.?strlen($str_xml)?.?"?\r\n";

$str_header?.=?"Content-transfer-encoding:?text?\r\n";

$str_header?.=?"Request-number:?1?\r\n";

$str_header?.=?"Document-type:?Response\r\n";

$str_header?.=?"Interface-Version:?Site?1.0?\r\n";

$str_header?.=?"Connection:?close?\r\n\r\n";

$str_header?.=?$str_xml;

$res_curl?=?curl_init();

curl_setopt($res_curl,?CURLOPT_URL,?$str_url);

curl_setopt($res_curl,?CURLOPT_RETURNTRANSFER,?1);

curl_setopt($res_curl,?CURLOPT_TIMEOUT,?30);???

curl_setopt($res_curl,?CURLOPT_CUSTOMREQUEST,?$str_header);

curl_setopt($res_curl,?CURLOPT_FOLLOWLOCATION,?1);

if?(?$boo_ssl?)?{

curl_setopt($res_curl,?CURLOPT_SSL_VERIFYHOST,??0);

curl_setopt($res_curl,?CURLOPT_SSL_VERIFYPEER,?false);

}

$str_data?=?curl_exec($res_curl);

if?(?curl_errno($res_curl)?)?{

trigger_error(curl_error($res_curl),?E_USER_ERROR);

}?else?{

curl_close($res_curl);

}

return?$str_data;

}

}

$str_xml?=?'xxxblablabla/xxxyyyblebleble/yyyzzzzbliblibli/zzz';

$o?=?new?xmlSender;

print_r($o-send($str_xml,?"",?"/yyy/x.x.x/",?true));

?

=========================================

這幾天我正在研究cURL,這個(gè)庫(kù)正好能夠完成你的需要,具體代碼的編寫需要示例數(shù)據(jù)與網(wǎng)站才能測(cè)試,以下是post的示例:

?php

$url?=?'';

//?The?submitted?form?data,?encoded?as?query-string-style

//?name-value?pairs

$body?=?'monkey=unclerhino=aunt';

$c?=?curl_init($url);

curl_setopt($c,?CURLOPT_POST,?true);

curl_setopt($c,?CURLOPT_POSTFIELDS,?$body);

curl_setopt($c,?CURLOPT_RETURNTRANSFER,?true);

$page?=?curl_exec($c);

curl_close($c);

?

怎樣通過(guò)php程序返回xml格式的數(shù)據(jù)

無(wú)論是返回 ?json 還是 xml 數(shù)據(jù),區(qū)別僅在于數(shù)據(jù)的格式。

返回 xml 格式數(shù)據(jù)示例如下:

?php

//指示返回?cái)?shù)據(jù)格式為?xml

header('Content-Type:?text/xml');

?

?xml?version="1.0"?encoding="utf-8"??

?php

//構(gòu)造?xml?

//$xmldata?=?"??

//????data??

//???????site_name$site[name]/site_name

//???????........???

//????data";

echo?$xmldata;

?

php 如何發(fā)送xml報(bào)文

?php

if(?$_SERVER['REQUEST_METHOD']?===?'POST'?){

//?接收

$content?=?file_get_contents('php://input');

$xml?=?simplexml_load_string($content);

echo?"來(lái)自XML接收方的響應(yīng)\n";

print_r(?get_object_vars($xml)?);

exit;

}

//?發(fā)送行為

$xml?=?xml

?xml?version="1.0"?

FOX

helloworld/hello

/FOX

xml;

$setting?=?array(

'http'?=?array(

'method'?=?'POST',

'user_agent'?=?'Client?Application?Name',

'header'?=?"Content-type:?application/x-www-form-urlencoded",

'content'?=?$xml

)

);

$context?=?stream_context_create($setting);

$url?=?''.?$_SERVER['REQUEST_URI'];

$response?=?file_get_contents($url,?null,?$context);

echo?$response;

CURL是可以的,但是參數(shù)設(shè)置比較麻煩。這種情況有一些現(xiàn)成的類庫(kù)實(shí)現(xiàn),提供一個(gè)簡(jiǎn)單的示例

php輸出xml內(nèi)容

PHP生成XML的方法很多,這里演示最基本,最簡(jiǎn)單的字符串構(gòu)造法。就是使用字符串構(gòu)造或者拼接成xml數(shù)據(jù)格式,然后輸出或者生成xml文件。

?php

$data?=?array(

array(

'title'???=?'baidu',

'country'?=?'china',

'name'????=?'百度',

),

array(

'title'???=?'google',

'country'?=?'usa',

'name'????=?'谷歌',

)

);

//構(gòu)造xml數(shù)據(jù)格式

$xml?=?"?xml?version=\"1.0\"?encoding=\"utf-8\"?\n";

$xml?.=?"data\n";

foreach?($data?as?$itm)?{

//循環(huán)構(gòu)造xml單項(xiàng)

$item?=?"item\n";

$item?.=?"title"?.?$itm['title']?.?"/title\n";

$item?.=?"country"?.?$itm['country']?.?"/country\n";

$item?.=?"?name"?.?$itm['name']?.?"/name\n";

$item?.=?"/item\n";

$xml?.=$item;

}

$xml?.=?"/data\n";

//輸出xml數(shù)據(jù)

echo?$xml;

?

生成的數(shù)據(jù)格式如下:

請(qǐng)問(wèn)PHP如何返回一個(gè)XML?

php返回xml,首先封裝好xml數(shù)據(jù)格式,然后return即可。示例如下:

?php?

//name

$name="zhidao";

//age

$age=10;

//構(gòu)造xml數(shù)據(jù)格式

$xml?=?XML

?xml?version="1.0"?encoding="utf-8"?

baidu

name?{$name}?/name

age{$age}/age

/baidu

XML;

return?$xml;

?

如何在PHP中使用socket+XML發(fā)送數(shù)據(jù)包

接收指定IP的數(shù)據(jù)包,其他IP都要過(guò)濾吧,那就用防火墻來(lái)搞吧

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

public void SendMessage()

{

ASCII = Encoding.ASCII;

// 構(gòu)造用于發(fā)送的 字節(jié)緩沖.

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

// 構(gòu)造用于接收的 字節(jié)緩沖.

Byte[] recvBytes = new Byte[256];

// IP地址.

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

// 接入點(diǎn).

IPEndPoint ephost = new IPEndPoint(localAddr, PORT);

// 第一個(gè)參數(shù):AddressFamily = 指定 Socket 類的實(shí)例可以使用的尋址方案。

// Unspecified 未指定地址族。

// InterNetwork IP 版本 4 的地址。

// InterNetworkV6 IP 版本 6 的地址。

//

// 第二個(gè)參數(shù):SocketType = 指定 Socket 類的實(shí)例表示的套接字類型。

// Stream 一個(gè)套接字類型,支持可靠、雙向、基于連接的字節(jié)流,而不重復(fù)數(shù)據(jù),也不保留邊界。

// 此類型的 Socket 與單個(gè)對(duì)方主機(jī)通信,并且在通信開(kāi)始之前需要建立遠(yuǎn)程主機(jī)連接。

// 此套接字類型使用傳輸控制協(xié)議 (Tcp),AddressFamily 可以是 InterNetwork,也可以是 InterNetworkV6。

//

// 第三個(gè)參數(shù):ProtocolType = 指定 Socket 類支持的協(xié)議。

// Tcp 傳輸控制協(xié)議 (TCP)。

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

try

{

// 嘗試連接主機(jī).

s.Connect(ephost);

//Console.WriteLine("向服務(wù)器發(fā)送到了:{0}", SEND_MESSAGE);

// 向主機(jī)發(fā)送數(shù)據(jù).

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

// 接收服務(wù)器的應(yīng)答.

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

StringBuilder buff = new StringBuilder();

// while (bytes 0)

// {

// 將緩沖的字節(jié)數(shù)組,裝換為字符串.

// 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);

// 再次接受,看看后面還有沒(méi)有數(shù)據(jù).

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

// }

textBox1.Text = iCount.ToString();

}

catch (Exception ex)

{

MessageBox.Show("連接/發(fā)送/接收過(guò)程中,發(fā)生了錯(cuò)誤!");

MessageBox.Show(ex.Message);

//Console.WriteLine("連接/發(fā)送/接收過(guò)程中,發(fā)生了錯(cuò)誤!");

//Console.WriteLine(ex.Message);

//Console.WriteLine(ex.StackTrace);

}

finally

{

s.Close();

}


新聞標(biāo)題:php發(fā)送xml數(shù)據(jù) php讀取xml文件
當(dāng)前路徑:http://weahome.cn/article/hjoegp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部