Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    urllib2.urlopen fails on C4D for Mac

    Cinema 4D SDK
    8
    32
    22.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • lasselauchL
      lasselauch
      last edited by lasselauch

      Hey everyone,

      i am having this problem where I want to download an assets (zipfile) from a private repo on GitHub.

      I've started to develop it with requests from there everything worked fine... now I am trying to port it to urllib2 for C4D but it doesn't work anymore...

      'Accept': 'application/octet-stream' will always result in: HTTP Error 415: Unsupported Media Type

      If I get rid of 'Accept': 'application/octet-stream' it will give me the application/json

              headers = {
                  'Authorization': 'token %s' % (MYTOKEN),
                  'Accept': 'application/octet-stream',
              }
      
              url = 'https://api.github.com/repos/USER/REPO/releases/ID'
      
              request = urllib2.Request(url, headers=headers)
              response = urllib2.urlopen(request)
      
              print response.read()
      
              #GIVES ME:
              #urllib2.HTTPError: HTTP Error 415: Unsupported Media Type
      

      Any idea how to avoid the HTTP Error 415 and download the zip to disk?
      Really hard to find something about this anywhere...

      Any help is appreciated.

      Thanks,
      Lasse

      1 Reply Last reply Reply Quote 0
      • M
        mp5gosu
        last edited by mp5gosu

        Hi Lasse,

        you're probably having some issues with authorization.
        You're getting a JSON response which may indicate that your requested URL cannot be delivered.
        What's the content of the reponse if you print it?
        Does it happen with a public repo as well?

        Best,
        Robert

        lasselauchL 1 Reply Last reply Reply Quote 0
        • lasselauchL
          lasselauch @mp5gosu
          last edited by

          @mp5gosu
          Hi Robert!

          Haven't tested it with a public repo yet, but I'll bet its going to work ... the print of the response gives me:

          urllib2.HTTPError: HTTP Error 415: Unsupported Media Type

          which I can't find much info for ...

          1 Reply Last reply Reply Quote 0
          • M
            mp5gosu
            last edited by mp5gosu

            By the way, the URL you provided doesn't reflect GitHubs scheme. It is actually https://api.github.com/USER/REPO/releases/ID

            lasselauchL 1 Reply Last reply Reply Quote 0
            • lasselauchL
              lasselauch @mp5gosu
              last edited by

              @mp5gosu Yep, the link is coming from the provided JSON data. Also removing the repo from the link gives me the same error!
              Is it possible that this has something to do with 'Accept': 'application/octet-stream'? Isn't it possible to stream with urllib2?

              1 Reply Last reply Reply Quote 0
              • M
                mp5gosu
                last edited by

                Hey Lasse,

                sorry - removing "repos" is actually wrong when using api access, my bad.
                I can now also comprehend your problem. I'm going to dig a little deeper. 😉

                1 Reply Last reply Reply Quote 0
                • M
                  mp5gosu
                  last edited by

                  Hey again. Managed to download it when using the zipball or tarball URLs. Weird though, that it responds with 415 when using the asset id directly.

                  lasselauchL 1 Reply Last reply Reply Quote 0
                  • lasselauchL
                    lasselauch @mp5gosu
                    last edited by lasselauch

                    @mp5gosu interesting... i guess shipping and importing the requests module with the plugin, is too much of a hassle... really hard to find any further informations on this... strange...

                    1 Reply Last reply Reply Quote 0
                    • M
                      mp5gosu
                      last edited by

                      I dare to say that urllib2 is the culprit here. I don't have any problems using other libs or tool in the exact same way. curl works out of the box for example.

                      1 Reply Last reply Reply Quote 0
                      • lasselauchL
                        lasselauch
                        last edited by

                        yeah, had no luck either... okay, so I'm probably back to importing requests as 3rd party module. 🙂

                        Thanks for the quick help, Robert!

                        1 Reply Last reply Reply Quote 0
                        • M
                          mp5gosu
                          last edited by

                          Using requests package would be the solution I guess. Even the docs state that they are auperior on high level access.
                          The web says that urllib2 is broken in so many ways due to its age.

                          1 Reply Last reply Reply Quote 0
                          • M
                            m_adam
                            last edited by

                            Hi @lasselauch as @mp5gosu this is a urrlib2 issue and we can't provide support on this topic.
                            Moreover, if you have more questions (while I think everything is said), please open a new thread since while the overall topic is related, the question and issue are different.

                            Cheers,
                            Maxime.

                            MAXON SDK Specialist

                            Development Blog, MAXON Registered Developer

                            1 Reply Last reply Reply Quote 0
                            • fwilleke80F
                              fwilleke80
                              last edited by

                              The issue with the certificates still persists in R21.022 on macOS 10.13.6.

                              Cheers,
                              Frank

                              www.frankwilleke.de
                              Only asking personal code questions here.

                              1 Reply Last reply Reply Quote 0
                              • M
                                m_adam
                                last edited by m_adam

                                @fwilleke80 thanks for bumping it, I will bump this topic when the issue will be resolved.
                                For the time being, my workaround provided previously still work.

                                Cheers,
                                Maxime.

                                MAXON SDK Specialist

                                Development Blog, MAXON Registered Developer

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pyr
                                  last edited by

                                  R23 still has the same Error

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    m_adam
                                    last edited by

                                    Hi @pyr this shouldn't happen on R23.
                                    Can you confirm your exact Cinema 4D version (located in help->About in the bottom you do have the full build number)
                                    Your Os and OS version.
                                    The code used and the error returned.

                                    Thanks a lot,
                                    Cheers,
                                    Maxime.

                                    MAXON SDK Specialist

                                    Development Blog, MAXON Registered Developer

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      SolarPH
                                      last edited by

                                      I had a question too partially related to this one.

                                      I was using urllib2 to access a payhip product page of my own, so that when I use my VersionReader Node in XPresso, it can access the current preset version code present on my product page. For some reason, when I try to open the webpage, it ends up not working. It has no feedback reply as well. I had it on a try-except block so I don't knoe what is the exact error (yet)

                                      However, I can access my github webpage for the build code, so having a solution for this is not really needed for my side (my friend does not have a github page so we kinda need to have a workaround)

                                      I was using R19 for this set of scripts.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        m_adam
                                        last edited by

                                        Hi @SolarPH please open a new topic with your code and the exact error.

                                        Cheers,
                                        Maxime.

                                        MAXON SDK Specialist

                                        Development Blog, MAXON Registered Developer

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post