Homepage | Products | OX Knowledge Base | Support | Try Now | Contact | Company
OX Logo
Results 1 to 5 of 5
  1. #1
    Milchi Guest

    Question Perl-Beispiel gesucht für PUT-Request (HTTP API)

    Ich habe Probleme mit dem PUT-Request der HTTP API. Ich möchte einen neuen Termin anlegen.

    GET-Requests funktionieren - nur habe ich Probleme beim übergeben der Daten via PUT.

    Ich verwenden HTTP::Request.

    my $request_url = "http://localhost/ajax/calendar?action=new&session=" . $sid;
    my $data = '{"folder_id":"$calid"}';

    my $req = HTTP::Request->new('PUT',$request_url,'text/json',$data);
    $ua->cookie_jar->add_cookie_header($req);

    my $res = $ua->request($req);
    Ich bekomme folgende Fehlermeldung: Bad header argument at line 4 (also die Zeile, wo der Request aufgebaut wird).

    Was mache ich falsch? Kann jemand ein Beipiel posten, wie das mit den PUT-Requests funktionieren kann?

    Ich hoffe Ihr könnt mir helfen.

    LG,
    Milchi

  2. #2
    Milchi Guest

    Default

    Für diejenigen, die das mal brauchen sollten. Hier ist meine Lösung:

    my $request_url = "http://localhost/ajax/calendar?action=new&session=" . $sid;
    my $data = '{"folder_id":"'.$calid.'",
    "start_date":"' . DateTime->today->subtract( days => 1 )->epoch . '000",
    "end_date":"' . DateTime->today->epoch . '000",
    "full_time":"true",
    "shown_as":"3",
    "title":"test",
    "ignore_conflicts":"true"
    }';

    my $req_put = HTTP::Request->new( 'PUT', $request_url, undef, $data );
    $req_put->header('Content-Type' => 'application/json');


    $ua->cookie_jar->add_cookie_header($req_put);
    my $res = $ua->request($req_put);

  3. #3
    Milchi Guest

    Default session identifier is missing

    hi. ich habe mal wieder ein session problem. hier die details:

    perl-code:
    Code:
    my $calendar_url = "http://localhost/ajax/calendar?action=all&folder=29&columns=1,200,401,100,201,202&start=0&end=1250519740000&session=" . $sid;
    
    print LOG $calendar_url . "\n";
    my $req = HTTP::Request->new('GET',$calendar_url);
    
    print LOG "cookies for request: " . $ua->cookie_jar->as_string . "\n";
    	
    $ua->cookie_jar->add_cookie_header($req);
    my $res_cal = $ua->request($req);
    
    print LOG $res_cal->content . "\n";

    output:

    Code:
    http://localhost/ajax/calendar?action=all&folder=29&columns=1,200,401,100,201,202&start=0&end=1250519740000&session=573c80cea7424cbca72128c2b72198cf
    
    cookies for request: 
    Set-Cookie3: JSESSIONID=a8d34fe358554196a000cbaecd6b1a09.APP1; path="/"; domain=localhost; path_spec; discard; version=0
    Set-Cookie3: open-xchange-session-573c80cea7424cbca72128c2b72198cf=a2e099e1a1314b0f8feedd30861cd228; path="/"; domain=localhost; path_spec; discard; version=0
    
    {"category":8,"error_params":[],"error":"The cookie with the session identifier is missing.","error_id":"-921994266-224","code":"SES-0202"}
    Sollte doch eigentlich funktionieren, weil Cookie für genau die Nummer gesetzt ist, die in der URL angegeben wird.

    Was mache ich falsch?

    Ich hoffe ihr könnt mir helfen

    Milchi

    P.S. wie kann man main title ändern? Grund: Thema erneut geöffnet.
    Last edited by Milchi; 08-17-2009 at 04:54 PM.

  4. #4
    Milchi Guest

    Default

    keine Ideen?

  5. #5
    Join Date
    Feb 2007
    Posts
    253

    Default

    Was wird zum Server geschickt? (Wireshark/tcpdump/netcat)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •