<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Márcio Dias - Space Online - Programação em destaque &#187; post</title>
	<atom:link href="http://www.marciodias.info/tag/post/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marciodias.info</link>
	<description>Programação, Ruby on Rails, Java, PHP e DIVERSÃO</description>
	<lastBuildDate>Tue, 15 Jun 2010 03:12:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Realizar post sem formulário &#8230;&#8230;. em php</title>
		<link>http://www.marciodias.info/2009/10/realizar-post-sem-formulario-em-php/</link>
		<comments>http://www.marciodias.info/2009/10/realizar-post-sem-formulario-em-php/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 14:02:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[post sem formulário]]></category>

		<guid isPermaLink="false">http://www.marciodias.info/?p=372</guid>
		<description><![CDATA[Recebi no twitter e vou dividar, caso alguém precise, o código não é grande coisa mais é para salvar alguns &#8230;.. /* ** The function: */ function PostRequest($url, $referer, $_data) { // convert variables array to string: $data = array(); while(list($n,$v) = each($_data)){ $data[] = "$n=$v"; } $data = implode('&#38;', $data); // format --&#62; test1=a&#38;test2=b [...]]]></description>
			<content:encoded><![CDATA[<p>Recebi no twitter e vou dividar, caso alguém precise, o código não é grande coisa mais é para salvar alguns &#8230;..<br />
<span id="more-372"></span></p>
<pre>
<div id="source_code">
<pre><span style="color: #808080; font-style: italic;">/*
** The function:
*/</span>

<span style="color: #000000; font-weight: bold;">function</span> PostRequest<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$url</span>, <span style="color: #0000ff;">$referer</span>, <span style="color: #0000ff;">$_data</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>

    <span style="color: #808080; font-style: italic;">// convert variables array to string:</span>
    <span style="color: #0000ff;">$data</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
    <span style="color: #b1b100;">while</span><span style="color: #66cc66;">(</span><a href="http://www.php.net/list"><span style="color: #000066;">list</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$n</span>,<span style="color: #0000ff;">$v</span><span style="color: #66cc66;">)</span> = <a href="http://www.php.net/each"><span style="color: #000066;">each</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$_data</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
        <span style="color: #0000ff;">$data</span><span style="color: #66cc66;">[</span><span style="color: #66cc66;">]</span> = <span style="color: #ff0000;">"$n=$v"</span>;
    <span style="color: #66cc66;">}</span>
    <span style="color: #0000ff;">$data</span> = <a href="http://www.php.net/implode"><span style="color: #000066;">implode</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'&amp;'</span>, <span style="color: #0000ff;">$data</span><span style="color: #66cc66;">)</span>;
    <span style="color: #808080; font-style: italic;">// format --&gt; test1=a&amp;test2=b etc.</span>

    <span style="color: #808080; font-style: italic;">// parse the given URL</span>
    <span style="color: #0000ff;">$url</span> = <a href="http://www.php.net/parse_url"><span style="color: #000066;">parse_url</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$url</span><span style="color: #66cc66;">)</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$url</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'scheme'</span><span style="color: #66cc66;">]</span> != <span style="color: #ff0000;">'http'</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
        <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">'Only HTTP request are supported !'</span><span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span>

    <span style="color: #808080; font-style: italic;">// extract host and path:</span>
    <span style="color: #0000ff;">$host</span> = <span style="color: #0000ff;">$url</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'host'</span><span style="color: #66cc66;">]</span>;
    <span style="color: #0000ff;">$path</span> = <span style="color: #0000ff;">$url</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'path'</span><span style="color: #66cc66;">]</span>;

    <span style="color: #808080; font-style: italic;">// open a socket connection on port 80</span>
    <span style="color: #0000ff;">$fp</span> = <a href="http://www.php.net/fsockopen"><span style="color: #000066;">fsockopen</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$host</span>, <span style="color: #cc66cc;">80</span><span style="color: #66cc66;">)</span>;

    <span style="color: #808080; font-style: italic;">// send the request headers:</span>
    <a href="http://www.php.net/fputs"><span style="color: #000066;">fputs</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #ff0000;">"POST $path HTTP/1.1<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>"</span><span style="color: #66cc66;">)</span>;
    <a href="http://www.php.net/fputs"><span style="color: #000066;">fputs</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #ff0000;">"Host: $host<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>"</span><span style="color: #66cc66;">)</span>;
    <a href="http://www.php.net/fputs"><span style="color: #000066;">fputs</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #ff0000;">"Referer: $referer<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>"</span><span style="color: #66cc66;">)</span>;
    <a href="http://www.php.net/fputs"><span style="color: #000066;">fputs</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #ff0000;">"Content-type: application/x-www-form-urlencoded<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>"</span><span style="color: #66cc66;">)</span>;
    <a href="http://www.php.net/fputs"><span style="color: #000066;">fputs</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #ff0000;">"Content-length: "</span>. <a href="http://www.php.net/strlen"><span style="color: #000066;">strlen</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$data</span><span style="color: #66cc66;">)</span> .<span style="color: #ff0000;">"<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>"</span><span style="color: #66cc66;">)</span>;
    <a href="http://www.php.net/fputs"><span style="color: #000066;">fputs</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #ff0000;">"Connection: close<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>"</span><span style="color: #66cc66;">)</span>;
    <a href="http://www.php.net/fputs"><span style="color: #000066;">fputs</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #0000ff;">$data</span><span style="color: #66cc66;">)</span>;

    <span style="color: #0000ff;">$result</span> = <span style="color: #ff0000;">''</span>;
    <span style="color: #b1b100;">while</span><span style="color: #66cc66;">(</span>!<a href="http://www.php.net/feof"><span style="color: #000066;">feof</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
        <span style="color: #808080; font-style: italic;">// receive the results of the request</span>
        <span style="color: #0000ff;">$result</span> .= <a href="http://www.php.net/fgets"><span style="color: #000066;">fgets</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span>, <span style="color: #cc66cc;">128</span><span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span>

    <span style="color: #808080; font-style: italic;">// close the socket connection:</span>
    <a href="http://www.php.net/fclose"><span style="color: #000066;">fclose</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$fp</span><span style="color: #66cc66;">)</span>;

    <span style="color: #808080; font-style: italic;">// split the result header from the content</span>
    <span style="color: #0000ff;">$result</span> = <a href="http://www.php.net/explode"><span style="color: #000066;">explode</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">"<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>"</span>, <span style="color: #0000ff;">$result</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span>;

    <span style="color: #0000ff;">$header</span> = <a href="http://www.php.net/isset"><span style="color: #000066;">isset</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$result</span><span style="color: #66cc66;">[</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span> ? <span style="color: #0000ff;">$result</span><span style="color: #66cc66;">[</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">]</span> : <span style="color: #ff0000;">''</span>;
    <span style="color: #0000ff;">$content</span> = <a href="http://www.php.net/isset"><span style="color: #000066;">isset</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$result</span><span style="color: #66cc66;">[</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span> ? <span style="color: #0000ff;">$result</span><span style="color: #66cc66;">[</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">]</span> : <span style="color: #ff0000;">''</span>;

    <span style="color: #808080; font-style: italic;">// return as array:</span>
    <span style="color: #b1b100;">return</span> <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$header</span>, <span style="color: #0000ff;">$content</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>

<span style="color: #808080; font-style: italic;">/*
** The example:
*/</span>

<span style="color: #808080; font-style: italic;">// submit these variables to the server:</span>
<span style="color: #0000ff;">$data</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">(</span>
    <span style="color: #ff0000;">'test'</span> =&gt; <span style="color: #ff0000;">'foobar'</span>,
    <span style="color: #ff0000;">'okay'</span> =&gt; <span style="color: #ff0000;">'yes'</span>,
    <span style="color: #ff0000;">'number'</span> =&gt; <span style="color: #cc66cc;">2</span>
<span style="color: #66cc66;">)</span>;

<span style="color: #808080; font-style: italic;">// send a request to example.com (referer = jonasjohn.de)</span>
<a href="http://www.php.net/list"><span style="color: #000066;">list</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$header</span>, <span style="color: #0000ff;">$content</span><span style="color: #66cc66;">)</span> = PostRequest<span style="color: #66cc66;">(</span>
    <span style="color: #ff0000;">"http://www.example.com/"</span>,
    <span style="color: #ff0000;">"http://www.jonasjohn.de/"</span>,
    <span style="color: #0000ff;">$data</span>
<span style="color: #66cc66;">)</span>;

<span style="color: #808080; font-style: italic;">// print the result of the whole request:</span>
<a href="http://www.php.net/print"><span style="color: #000066;">print</span></a> <span style="color: #0000ff;">$content</span>;

<span style="color: #808080; font-style: italic;">// print $header; --&gt; prints the headers</span></pre>
</div>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.marciodias.info/2009/10/realizar-post-sem-formulario-em-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
