myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » [Erledigt] Wie kann ich mittels C# URLs durch AdFly kürzen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[Erledigt] Wie kann ich mittels C# URLs durch AdFly kürzen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Odin008
myCSharp.de-Mitglied

Dabei seit: 31.12.2013
Beiträge: 58


Odin008 ist offline

[Erledigt] Wie kann ich mittels C# URLs durch AdFly kürzen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Morgen,

ich möchte mittels C# URLs durch AdFly kürzen.
Ich habe keine ahnung wie der haken ist oder was falsch ist...
Evtl. kann mir hier jemand helfen.

C#-Code:
string adFlyUserId = "UserID";
            string adFlyPublicKey = "PublicKEY";
            string adFlySecretKey = "PrivateKEY";

            int unixTimestamp = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
            string monthName = DateTime.Now.ToString("MMMM", new System.Globalization.CultureInfo("en-US"));
            string adFlyBaseUrl = "http://api.adf.ly/v1/";
            string adFlyQueryString = string.Format(@"_user_id={0}&_api_key={1}&_timestamp={2}&date={3}", adFlyUserId, adFlyPublicKey, unixTimestamp, monthName);
            string adFlyHash = string.Empty;
            byte[] keyByte = Encoding.GetEncoding(28591).GetBytes(adFlySecretKey);
            byte[] messageBytes = Encoding.GetEncoding(28591).GetBytes(adFlyQueryString);
            using (var hmacsha256 = new HMACSHA256(keyByte)) {
                byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);
                adFlyHash = ByteToString(hashmessage);
            }
            string adFlyEndPoint = adFlyBaseUrl + "publisherStats?" + adFlyQueryString + "&_hash=" + adFlyHash;

            WebRequest request = WebRequest.Create(adFlyEndPoint);
            WebResponse response = request.GetResponse();
            Stream dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            Console.Write(responseFromServer);
            Console.ReadKey();
        }

        private static string ByteToString(byte[] buff) {
            string sbinary = "";
            for (int i = 0; i < buff.Length; i++)
                sbinary += buff[i].ToString("X2");

            return (sbinary);
        }

Als rückmeldung erhalte ich

Fehlermeldung:
{"errors":[{"code":7,"msg":"Authentication failed. Hashes do not match."}],"warnings":[],"data":null,"page":{"current":1,"total":1}}

#Edit:

Problem gelöst.
Parameter in der Doc sind ein wenig irreführend.
Ebenso passte die HMACSHA256 nicht

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Odin008 am 24.05.2017 07:18.

Neuer Beitrag 24.05.2017 05:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
chilic
myCSharp.de-Poweruser/ Experte

Dabei seit: 12.02.2010
Beiträge: 2.041


chilic ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wo liegt der Sinn von so etwas? Außer dass jemand der so eine URL sieht nicht mehr weiß wohin sie führt, was ich aber eher als gravierenden Nachteil ansehe.
Ich persönlich mag so etwas gar nicht und kann auch nicht erkennen wozu es gut sein soll. URLs tippt heutzutage keiner mehr von Hand, die werden kopiert und eingefügt. Warum also darf der Nutzer nicht mehr sehen wohin es geht?
Neuer Beitrag 24.05.2017 05:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Odin008
myCSharp.de-Mitglied

Dabei seit: 31.12.2013
Beiträge: 58

Themenstarter Thema begonnen von Odin008

Odin008 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das ist mir bewusst, jedoch brauche ich es.
Adfly schaltet ja Werbung und durch die Werbung macht der nutzer gewinn.
Da die Seite kein Adsense nutzen kann und sowieso keine Werbung direkt geschaltet wird aber die kosten gedeckt werden müssen nutzen sie Adfly und die User sind damit auch gut zufrieden da sie eben keine werbung auf der eigendlichen Seite haben sondern nur über den Adfly link und diesen können sie ja nach 5Sec. überspringen.

Und warum nicht direkt die Website genutzt wird zum kürzen der URLs ist ganz einfach
derzeit stehen 14,356 URLs an die gekürzt werden müssen und täglich kommen zwischen
30 - 100 URLs dazu.

Auserdem geht es nicht darum das der User nicht sehen darf worauf die URL verweist sondern viel mehr um die Werbe einnahmen. Die User sind informiert das der Adfly Link auf eine andere Seite verweist. Auserdem ist es immer die selbe Seite auf die verwiesen wird nur eben ändert sich das verzeichnis.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Odin008 am 24.05.2017 05:53.

Neuer Beitrag 24.05.2017 05:43 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 3 Jahre.
Der letzte Beitrag ist älter als 3 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 23.09.2020 20:05