<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
  <channel>
    <title>DLFP - Entrées de forums de y0ug</title>
    <link>http://linuxfr.org/~y0ug/</link>
     
    <description>LinuxFr</description>
    <language>fr</language>
    <image>
      <title>DLFP - Entrées de forums de y0ug</title>
      <link>http://linuxfr.org/~y0ug/</link>
      <url>http://linuxfr.org/images/favicon.png</url>
    </image>
    <ttl>30</ttl>
    

    <item>
      <title>Requete post</title>
      <author>null@linuxfr.org (y0ug)</author>
      <pubDate>Mon, 13 Aug 2007 16:18:15 +0200</pubDate>
      <link>http://linuxfr.org/forums/19/22824.html</link>
      <guid>http://linuxfr.org/forums/19/22824.html</guid>
      <category>c</category>
      <description>Voilà je voudrais uploadé un fichier texte sur un server web.&lt;br /&gt;
Pour celà j'ai mis un script php sur le server le script marche si je passe par un formulaire.&lt;br /&gt;
&lt;br /&gt;
Mais si j'envoie la requette POST de client.c bin la le server ne répond pas alors que sur la une commande GET / je pe lire la réponse.&lt;br /&gt;
&lt;br /&gt;
Je pense donc que ma requette et mauvaise. Et aussi j'aimerais savoir se que ces que boundary.&lt;br /&gt;
&lt;br /&gt;
Merci&lt;br /&gt;
&lt;br /&gt;
Voici les 2 sources.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//up.php&lt;br /&gt;
&lt;br /&gt;
$dossier = '';&lt;br /&gt;
$fichier = basename($_FILES['file']['name']);&lt;br /&gt;
$taille = filesize($_FILES['file']['tmp_name']);&lt;br /&gt;
$extensions = array('.txt');&lt;br /&gt;
$extension = strrchr($_FILES['file']['name'], '.'); &lt;br /&gt;
&lt;br /&gt;
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau&lt;br /&gt;
{&lt;br /&gt;
     $erreur = 'Just txt file!';&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload&lt;br /&gt;
{&lt;br /&gt;
     if(move_uploaded_file($_FILES['file']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...&lt;br /&gt;
     {&lt;br /&gt;
          echo 'Upload OK!';&lt;br /&gt;
     }&lt;br /&gt;
     else //Sinon (la fonction renvoie FALSE).&lt;br /&gt;
     {&lt;br /&gt;
          echo 'Upload FAILED!';&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
     echo $erreur;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
//client.c&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#include &amp;lt;errno.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;lt;netdb.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
#include &amp;lt;netinet/in.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/socket.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define PORT 80 &lt;br /&gt;
#define IP &quot;192.168.1.1&quot;&lt;br /&gt;
&lt;br /&gt;
int connected(int fd,char *ip)&lt;br /&gt;
{&lt;br /&gt;
	struct hostent *he;&lt;br /&gt;
        struct sockaddr_in their_addr;&lt;br /&gt;
&lt;br /&gt;
	if ((he=gethostbyname(ip)) == NULL) {&lt;br /&gt;
		herror(&quot;gethostbyname&quot;);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	printf(&quot;[+] Connect to %s port %d\n&quot;,ip,PORT);&lt;br /&gt;
	&lt;br /&gt;
	if ((fd = socket(PF_INET, SOCK_STREAM, 0)) == -1) {&lt;br /&gt;
		perror(&quot;[+] Socket&quot;);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	their_addr.sin_family = AF_INET;&lt;br /&gt;
	their_addr.sin_port = htons(PORT);&lt;br /&gt;
	their_addr.sin_addr = *((struct in_addr *)he-&amp;gt;h_addr);&lt;br /&gt;
	memset(their_addr.sin_zero, '\0', sizeof their_addr.sin_zero);&lt;br /&gt;
&lt;br /&gt;
	if (connect(fd, (struct sockaddr *)&amp;amp;their_addr,sizeof their_addr) == -1) {&lt;br /&gt;
		perror(&quot;[+] Connect&quot;);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}else{printf(&quot;[+] Connected!\n\n&quot;);}&lt;br /&gt;
	&lt;br /&gt;
	return(fd);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int requete(int fd)&lt;br /&gt;
{&lt;br /&gt;
    char *buffer =      &quot;POST /~y0ug/up.php HTTP/1.1\r\n&quot;\&lt;br /&gt;
                        &quot;Content-Type: multipart/form-data; boundary=---------------------------7d72ee34401f2\r\n&quot;\&lt;br /&gt;
                        &quot;User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\r\n&quot;\&lt;br /&gt;
                        &quot;Host: 192.168.1.1\r\n&quot;\&lt;br /&gt;
			&quot;Connection: Keep-Alive\r\n&quot;\&lt;br /&gt;
                        &quot;Cache-Control: no-cache\r\n&quot;\&lt;br /&gt;
                        &quot;\r\n&quot;\&lt;br /&gt;
    	                &quot;-----------------------------7d72ee34401f2\r\n&quot;\&lt;br /&gt;
                        &quot;Content-Disposition: form-data; name='file'; filename='try.txt'\r\n&quot;\&lt;br /&gt;
                        &quot;Content-Type: text/plain\r\n&quot;\&lt;br /&gt;
                        &quot;\r\n&quot;\&lt;br /&gt;
                        &quot;fichier que je veux&quot;\&lt;br /&gt;
                        &quot;\r\n-----------------------------7d72ee34401f2\r\n&quot;\&lt;br /&gt;
                        &quot;Content-Disposition: form-data; name='envoyer'\r\n&quot;\&lt;br /&gt;
                        &quot;\r\n&quot;\&lt;br /&gt;
                        &quot;send&quot;\&lt;br /&gt;
                        &quot;\r\n-----------------------------7d72ee34401f2--\r\n&quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	printf(&quot;Send POST requete:\n%s\n&quot;,buffer);&lt;br /&gt;
	if(write(fd,buffer,strlen(buffer))==-1)&lt;br /&gt;
		perror(&quot;[+] Write &quot;);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}else{printf(&quot;[+] Requete send!\n&quot;);}&lt;br /&gt;
	return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int receive(int fd)&lt;br /&gt;
{&lt;br /&gt;
	char *buffer[32];&lt;br /&gt;
	recv(fd,buffer,31,0);&lt;br /&gt;
	printf(&quot;Receive:\n%s\n&quot;,buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main (int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
	printf(&quot;[+] PORT: %d\n&quot;,PORT);&lt;br /&gt;
	printf(&quot;[+] IP: %s\n\n&quot;,IP);&lt;br /&gt;
	&lt;br /&gt;
	int fd = connected(fd,IP);&lt;br /&gt;
	requete(fd);&lt;br /&gt;
	receive(fd);&lt;br /&gt;
	close(fd);&lt;br /&gt;
}&lt;br /&gt;
&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Rediriger le DISPLAY</title>
      <author>null@linuxfr.org (y0ug)</author>
      <pubDate>Sun, 12 Aug 2007 19:38:52 +0200</pubDate>
      <link>http://linuxfr.org/forums/10/22814.html</link>
      <guid>http://linuxfr.org/forums/10/22814.html</guid>
      <category>general</category>
      <description>Bonjour,&lt;br /&gt;
J'aimerais savoir si il et possible de rediriger le DISPLAY d'un application déja lancé.&lt;br /&gt;
Genre:&lt;br /&gt;
Je lance l'application sur le display. :0.1 et je voudrais pouvoir la repasser sur le :0.0 sans quitter l'application.&lt;br /&gt;
&lt;br /&gt;
Merci</description>
    </item>  </channel>
</rss>
