Jump to content
Ketarin forum

Codeplex


rctneil
 Share

Recommended Posts

Lol i was absolutely sure i had 1 app from there but now when i checked i remembered, that i could not get it to work back then and i opted to use another source.

 

I should give this a new shot.Back then Ketarin did not allow UA to be specified and i was just learing Ketarin.

Link to comment
Share on other sites

Ok i looked over it and there is a part of url that i cannot find anywhere.I can get every other part into variables but not this.

For example:

 

http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=anolis&DownloadId=81545&FileTime=128963154906270000&Build=17358

 

Its the FileTime number.I assume this changes with every new release.

Link to comment
Share on other sites

The thing you need to put into the POST data you can get if you... well I have to give you my way.

 

Firefox and use an add-on called HTTPFox, go to the download page and activate it before you hit the download link. Let it run until the download has started then you can pause/stop HTTPfox and you'll see the post data it sent on the far right row. Copy and paste that directly into the Ketarin POST Data right column, the left column is just a label you give it for your own personal reference.

 

That's the long and short of it, the POST Data I used was the base URL of the project page with releases/acceptLicense after it if memory serves correct.

Link to comment
Share on other sites

The thing you need to put into the POST data you can get if you... well I have to give you my way.

 

Firefox and use an add-on called HTTPFox, go to the download page and activate it before you hit the download link. Let it run until the download has started then you can pause/stop HTTPfox and you'll see the post data it sent on the far right row. Copy and paste that directly into the Ketarin POST Data right column, the left column is just a label you give it for your own personal reference.

 

That's the long and short of it, the POST Data I used was the base URL of the project page with releases/acceptLicense after it if memory serves correct.

Hmm.Intresting.I know a few other pages that require accept license.Could come in handy in there too :) .Namely Synaptics Drivers and Guru3D.

 

I wonder if i can get this info simply by viewing the page source from Firefox?.Im gonna test this now :).

 

EDIT: Can`t get it to work.Always complains that either the URL is not valid or too long.Copied the POST data in raw format from httpFox.

Edited by Tomorrow
Link to comment
Share on other sites

Ketarin does seem to have a URL length limit that truncates a lot of the codeplex downloads because of the massive length, it may have been why I was getting errors.

 

Pages can use POST data/cookies/user agent all as security methods to authenticate downloads. Sometimes it is just a bitch finding the right one.

Link to comment
Share on other sites

Ok guys, Can one of you post a step by step foolproof way of downloading from Codeplex. I ahve tried following some of the things posted in this thread but can't get any of it to work. I am just confused. I'd appreciate a simpler tutorial if possible.

 

Thanks

 

Neil

Link to comment
Share on other sites

Well i to have not got it to work.If someone would post a working template for any app then we could learn from it.

Maybe another option would be to look for the most popular software on codeplex and see if any of those is represented in online database.Perhaps someone already has a working template shared to db.

Link to comment
Share on other sites

I believe Ketarin can't, whether it be the website or the programs fault, actually do this. Every attempt I either get a truncated regex value or when it does give me the correct URL it goes "URI undetermined" or some such error. Might be how it handles post data? Or how this website utilizes it? If I paste the URL directly the download starts so i'm sorta confused.

Link to comment
Share on other sites

I just spent a couple hours trying out sources on Codeplex. If I POST to the parsed download URL, I can access the download just fine (in fact, if I assign a variable in Ketarin with the POST data, it will actually return the binary)...but Ketarin doesn't offer a POST option for the actual download. I don't see a way around this until it does. Perhaps an option like the URL-parameterized header handling? I'm almost positive this should work, but just can't get my head in the game recently.

httpx://{slug}.codeplex.com/releases/acceptLicense?header:method=POST&fileId={fileId}&releaseId={releaseId}&clickOncePath=

It replaces {slug}, {fileId} and {releaseId} of course.

Link to comment
Share on other sites

  • 2 weeks later...
Actually, if the variable returns binary content, it should just display the HTTP headers which can be used for downloading.

 

@flo - Can you elaborate on this?

 

@omniferum - Nope. It uses a POST request type, and I was unable to get Ketarin to use a POST as a download URL. Any thoughts welcome.

Link to comment
Share on other sites

Oh, the header thing is something floele implemented because of one of my downloads.

 

httpx://www.pocketappreview.com/main/media/software_zip/EjectUSB.zip?header:accept=*[&x=y]+

 

So starting the url with httpx and the ?header:accept=(Iassumetheheaderdetailsgohere)

 

That's what works for my ejectusb, well not anymore because the site itself has gone 'down'.

Link to comment
Share on other sites

Well crap. I just tried again with this, and I can't get the httpx protocol handler to work. So, I looked for an online alternative.

 

I found a webservice on AppSpot that will convert HTTP methods thru a server redirect. It works perfectly in this instance. I've copied a working app profile for WiiBaFu below. It's designed in a way that should make it really easy to create a template from it (change only "slug" and "title"). If I were actually conscious right now, I'd do that myself...but I'm really not - it just looks like it. :)

 

<?xml version='1.0' encoding='utf-8'?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="ae4ad0e5-22c6-4ce7-96cb-185dcca2c255">
   <SourceTemplate><![CDATA[]]></SourceTemplate>
   <WebsiteUrl />
   <UserAgent>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)</UserAgent>
   <UserNotes />
   <IgnoreFileInformation>false</IgnoreFileInformation>
   <DownloadBeta>Default</DownloadBeta>
   <DownloadDate xsi:nil="true" />
   <CheckForUpdatesOnly>false</CheckForUpdatesOnly>
   <VariableChangeIndicator />
   <CanBeShared>true</CanBeShared>
   <ShareApplication>false</ShareApplication>
   <ExclusiveDownload>false</ExclusiveDownload>
   <HttpReferer>{sdownload}</HttpReferer>
   <SetupInstructions />
   <Variables>
     <item>
       <key>
         <string>slug</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>wiibafu</TextualContent>
           <Name>slug</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>title</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>Wii Backup Fusion</TextualContent>
           <Name>title</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>schangelog</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent />
           <Name>schangelog</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>swebsite</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>http://wiibafu.codeplex.com/</TextualContent>
           <Name>swebsite</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>snotes</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent />
           <Name>snotes</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>releaseId</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>href="http://{slug}.codeplex.com/releases/view/(\d+)"</Regex>
           <Url>http://{slug}.codeplex.com/releases/</Url>
           <Name>releaseId</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>fileId</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex><a class="FileNameLink" [^<>]+ fileId="([\d]+)" [^<>]+>[^<>]+Win</Regex>
           <Url>http://{slug}.codeplex.com/releases/view/{releaseId}</Url>
           <Name>fileId</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>version</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>{slug} - Release\: {title} ([^\r\n]+)</Regex>
           <Url>http://{slug}.codeplex.com/releases/view/{releaseId}</Url>
           <Name>version</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>sdownload</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>http://{slug}.codeplex.com/releases/acceptLicense?fileId={fileId}&releaseId={releaseId}&clickOncePath=</TextualContent>
           <Name>sdownload</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>spost</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>http://convert-get-proxy.appspot.com/server/?url={sdownload:multireplace:,:&,?:%26,%3F}&method=POST</TextualContent>
           <Name>spost</Name>
         </UrlVariable>
       </value>
     </item>
   </Variables>
   <ExecuteCommand />
   <ExecutePreCommand />
   <ExecuteCommandType>Batch</ExecuteCommandType>
   <ExecutePreCommandType>Batch</ExecutePreCommandType>
   <Category>Tools</Category>
   <SourceType>FixedUrl</SourceType>
   <DeletePreviousFile>true</DeletePreviousFile>
   <Enabled>true</Enabled>
   <FileHippoId />
   <TargetPath>.\{category}\{appname:regexreplace:([\s\t\r\n\-\\&\/]+):_}-{version}.{url:ext}</TargetPath>
   <FixedDownloadUrl>{spost}</FixedDownloadUrl>
   <Name>Wii Backup Fusion</Name>
 </ApplicationJob>
</Jobs>

Link to comment
Share on other sites

Hi shawn.Almost got it to work but it is unable to get FileID and update results in error:

Anolis Resourcer    The remote server returned an error: (500) Internal Server Error. (http://convert-get-proxy.appspot.com/server/?url=http://anolis.codeplex.com/releases/acceptLicense?fileId=&releaseId=32286&clickOncePath=&method=POST)

 

EDIT:

Seems like regex problem @ http://anolis.codeplex.com/releases/view/32286

I used start/end and got it to work.

 

EDIT 2:

Also seems that there are some cases where there is no title and hence the regex should be:

{slug} - Release\: ([^\r\n]+)

Instead of:

{slug} - Release\: {title} ([^\r\n]+)

 

For example vidcoder is one such @ http://vidcoder.codeplex.com/releases/view/55865

Edited by Tomorrow
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.